Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADOTable.LoadFromFile(...) [D7, MsAccess]


Leon-Z ©   (2011-05-20 17:45:00) 

После выполнения ADOTable.LoadFromFile(...) данные отображаются
в DBGrid'е.
Перезапускаю приложение и данные пропадают.
Получается что в таблице, при вызове ADOTable.LoadFromFile(...),
данные не сохраняются.
Как сохранить ?

Подскажите, пожалуйса.


Anatoly Podgoretsky   (2011-05-21 11:21:00) [1]

> sniknik  (21.05.2011 10:52:14)  [14]

Это датасет.
Метод применим только для inMemoryDataset - ClientDataset и оторваный
recordset

Зы у Query есть метод loadFromFile, но для другого


sniknik   (2011-05-21 10:52:00) [2]

> У обычного датасет и рекордсета тоже нет
ну, с "нятяжкой" у него рекордсетом можно считать таблицу на диске.


sniknik   (2011-05-21 10:50:00) [3]

> Только новичков путают.
их путает понятие ххх Tableт.к. из прошлого BDE по чему до сих по куча учебников, это отображение файла на диске, вот и относятся к нему также.
у ADODataSet тоже есть такой вариант работы, но все таки, и в основном это рекордсет в памяти... и никакой путаницы, вот у стринглист есть такие методы, и кто нибудь ждет, что загрузив в стринглист текст он окажется на диске в файле?

> В клаcсическом TDataSet таких методов нет.
клаcсический он логически предназначался для другого. даже у query это было "отображение на файл", пусть и временный.

а методы полезные, постоянно пользуюсь.

p.s. интересно, а если убрать, ВСЕ что путает новичков (/не читающих хелр) ЧТО останется? и можно ли будет на том что останется написать программу (хелло ворд не считаем)?


Anatoly Podgoretsky   (2011-05-21 09:47:00) [4]

> Германн  (21.05.2011 02:23:11)  [11]

У обычного датасет и рекордсета тоже нет


Германн   (2011-05-21 02:23:00) [5]

А вот на кой фиг в TADODataSet вообще ввели методы LoadfromFile, SaveToFile? Особенно Load...
Только новичков путают. В клаcсическом TDataSet таких методов нет.


Медвежонок Пятачок   (2011-05-20 23:13:00) [6]

Я кажется нашел решение.
Нужна кнопка с пустым обработчиком.
Если ее нажать миллион раз, то программа сама догадается, что после загрузки из файла надо наконец-то пройтись по всем загруженным записям и сделать инсерты в физическую таблицу базы данных.


Palladin   (2011-05-20 22:55:00) [7]

да ему из файла в субд перенести надо... синхронизация тк скть.. проблемы у него в формализацией мыслей )


Плохиш   (2011-05-20 21:17:00) [8]


> Leon-Z ©   (20.05.11 18:56) [6]

Функционал метода LoadFromFile описан в справке, почему вы от него ждёте чего-то другого не понятно.


sniknik   (2011-05-20 21:05:00) [9]

> Вот здесь проблема
проблема была еще до этого, и не одна...
первая проблема - ADOTable
вторая проблема - бессмысленные операции
сохранил в файл
удалил из рекордсета
загрузил в рекордсет из файла
???
ничего не произошло, действия "взаимоубились"

типа, "надо дойти до аптеки, она на той стороне улицы, перехожу улицу туда, потом обратно, проверяю, опять не около аптеки... шо делать?"

> таблицу не попадут, т.е. при следующем запуске программы датасет будет пустой.
ну если изначально он был пустой, то естественно

> Как сохранитьданные в эту "физическую таблицу на диске" ?
???
> Нет, файл сохраняетсятак:
> ADOTable.SaveToFile(...);
!!!


Leon-Z   (2011-05-20 18:56:00) [10]


> Palladin ©   (20.05.11 18:46) [3]

Нет, файл сохраняется так:

 ADOTable.SaveToFile(...);

Далее все данные из таблицы удаляю:

 while not ADOTable.Eof do
   ADOTable.Delete;

Теперь нужно восстановить данные из файла, который был сохранен на
первом этапе:

 ADOTable.LoadFromFile(...);

Вот здесь проблема, данные загрузятся в датасет, а в физическую
таблицу не попадут, т.е. при следующем запуске программы
датасет будет пустой.
Как сохранить данные в эту "физическую таблицу на диске" ?


sniknik   (2011-05-20 18:52:00) [11]

> А дальше мне нужно сохранить эти данные в физическую таблицу
а кто этому препятствует? нужно, сохрани. почему в вопросе ту ждешь сохранения от чтения в память?


Leon-Z   (2011-05-20 18:49:00) [12]

Я вызываю ADOTable.loadFromFile(...) и данные загружаются в датасет и
отображаются на экране.

А дальше мне нужно сохранить эти данные в физическую таблицу, чтобы
при следующем запуске программы, данные уже были в таблице,
загрузились в датасет и отобразились в гриде.


Palladin   (2011-05-20 18:46:00) [13]


> Leon-Z ©   (20.05.11 17:45) 

и файл пустой чтоли?


Медвежонок Пятачок   (2011-05-20 17:58:00) [14]

данные не сохраняются

Странная печаль.
А где они должны были сохраниться?
В каком из многочисленных твоих mdb файлов, и почему именно в них, а не на сервере пентагона например?


Медвежонок Пятачок   (2011-05-20 17:51:00) [15]

чтобы сохранить данные, не выгружай программу и не выключай компьютер.


Наверх

Титульная страница Поиск, карта сайта Написать письмо