Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.09.04;
Скачать: [xml.tar.bz2];

Вниз

ADOTable.LoadFromFile(...)   Найти похожие ветки 

 
Leon-Z ©   (2011-05-20 17:45) [0]

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

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


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

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


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

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

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


 
Palladin ©   (2011-05-20 18:46) [3]


> Leon-Z ©   (20.05.11 17:45) 

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


 
Leon-Z ©   (2011-05-20 18:49) [4]

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

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


 
sniknik ©   (2011-05-20 18:52) [5]

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


 
Leon-Z ©   (2011-05-20 18:56) [6]


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

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

 ADOTable.SaveToFile(...);

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

 while not ADOTable.Eof do
   ADOTable.Delete;

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

 ADOTable.LoadFromFile(...);

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


 
sniknik ©   (2011-05-20 21:05) [7]

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

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

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

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


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


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

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


 
Palladin ©   (2011-05-20 22:55) [9]

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


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

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


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

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


 
Anatoly Podgoretsky ©   (2011-05-21 09:47) [12]

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

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


 
sniknik ©   (2011-05-21 10:50) [13]

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

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

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

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


 
sniknik ©   (2011-05-21 10:52) [14]

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


 
Anatoly Podgoretsky ©   (2011-05-21 11:21) [15]

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

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

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.09.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.003 c
15-1305577799
Юрий
2011-05-17 00:29
2011.09.04
С днем рождения ! 17 мая 2011 вторник


15-1305311860
Kerk
2011-05-13 22:37
2011.09.04
Паттерны проектирования


15-1305547178
TUser
2011-05-16 15:59
2011.09.04
Кому двигатель?


15-1305613153
BoB
2011-05-17 10:19
2011.09.04
Непонятки с настройками принтеров


8-1216362230
Azat
2008-07-18 10:23
2011.09.04
максимально быстро считать цвет пикселя с экрана





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский