Текущий архив: 2003.12.19;
Скачать: CL | DM;
Вниз
IBClientDataSet - не загружает данные, не обновляет записи Найти похожие ветки
← →
Siv Soft (2003-11-20 17:50) [0]Доброго всем времени суток!
Необходимо из базы данных - Аццесса копировать таблицы в Firebird, использую для этого IBClientDataSet - если данные вбить, то все сохраняется, но пробую загрузить ничего пустой датасет - если ставить заранее имя файла в свойстве FileName, то все грузит на ОК, а если методом - нет. Приведу участок кода:
String file="e:\\DataBase\\emitents.xml";
IBClientDataSet1->FileName=file;
IBClientDataSet1->LoadFromFile(file);
Другая проблемма возникает при попытке обновить данные в таблице Файербед методом ApplyUpdates (таблица пустая) - ругается, что не найдет такой записи. Вот код:
IBClientDataSet1->ApplyUpdates(-1);
Понятно, что такой записи нет в принципе - таблица то пустая, но как тогда можно занести эти данные в таблицу Файербеда?
И как пофиксить с загрузкой этих данных по методу?
Заранее благодарен!
← →
Siv Soft (2003-11-20 18:13) [1]Удалено модератором
Примечание: Создание пустых сообщений
← →
Siv Soft (2003-11-21 10:52) [2]Народ, где вы???!!!
← →
Zacho © (2003-11-21 11:08) [3]Да похоже, просто никто не использует IBClientDataSet, поэтому и подсказать никто ничего не может.
← →
Sandman25 © (2003-11-21 11:12) [4]Нужно либо CreateDataSet и LoadFromFile, либо FileName :=.
Делать и то, и другое одновременно не имеет смысла ИМХО.
PS. С IBClientDataSet не работал, сужу по ClientDataSet.
← →
Siv Soft (2003-11-21 11:17) [5]Одновременно и не делаю - пробовал разные возможности, просто не грузится с помощью LoadFromFile.
← →
Sandman25 © (2003-11-21 11:33) [6]Советую откомпилировать с Use Debug DCU, программно присвоить FileName (я так понял, что это у Вас работает) и посмотреть, как именно вызывается LoadFromFile из SetFileName. Если он вообще вызывается в этом случае :)
← →
Siv Soft (2003-11-21 16:45) [7]Очень интересная штука получается - если использовать метод LoadFromFiles - то в набор почему-то попадают не данные из файла, а данные из таблицы БД Файербед, с которой он связан. Это если указать имя файла в вызове метода.
А если указывать просто пустую строку "" - как советуется, чтобы он брал имя из FileName свойства, то ругается, что не может открыть файл.
Как можно сделать, чтобы считавалось именно из файла , который и указан?
И как все-таки сделать, чтобы после считывания файла он переносил данные в таблицу Файербеда, т.к. (см. выше) методом который я использовал ничего не получается?
← →
sokohigh (2003-11-21 18:01) [8]Нужно, чтобы перед ApplyUpdate в ClientDataSet были записи, помеченные как новые, т.е. чтобы у него ChangeCount был > 0 (имелась Delta). При загрузке из файла (cds) Вы получите точно то же состояние ClientDataSet-а, которое было при выгрузке.
Простое решение - загрузить данные во вспомогательный ClientDataSet, затем из него добавить по одной в ClientDataSet, привязанный к базе и сделать ему ApplyUpdates.
← →
Siv Soft (2003-11-24 16:07) [9]Так вся прелесть IBClientDataSet теряется, хотелось бы, чтобы загрузил и все обновилось. Можно ли так?
И как быть с ЛоадФром?
← →
Siv Soft (2003-11-24 17:24) [10]Переделал с использованием ClientDataSet, заработало нармально чтение из файла, ApplyUpdates все равно не работает. При изменении записи - и пробе последующего применения изменений - ругается, что
Record not found or changed by another user.
Как сие фиксить?
← →
Siv Soft (2003-11-26 15:48) [11]ApplyUpdates пофиксил - ошибся в именах полей - надо было большими буквами.
Возник вопрос с трансформацией из XML в DataPacket от Borland.
Что такое трасформационный файл(xtr) и как его сделать самому, не используя XMLMapper?
← →
Siv Soft (2003-11-26 15:49) [12]ApplyUpdates пофиксил - ошибся в именах полей - надо было большими буквами.
Возник вопрос с трансформацией из XML в DataPacket от Borland.
Что такое трасформационный файл(xtr) и как его сделать самому, не используя XMLMapper?
← →
Siv Soft (2003-11-26 15:51) [13]Ой...
Извиняюсь за дубль.
← →
Sandman25 © (2003-11-26 15:53) [14]>Что такое трасформационный файл(xtr) и как его сделать самому, не используя XMLMapper?
Надо разобраться в его формате и сделать файл самому
← →
Siv Soft (2003-11-26 16:09) [15]Хороший ответ. Логично. Если бы я знал как, то наверняка вопросов бы не задавал.
Кто-то разобрался? Может кто-то более конкретное подсказать?
← →
Siv Soft (2003-11-26 16:37) [16]Удалено модератором
Примечание: Создание пустых сообщений
← →
Romkin © (2003-11-26 16:55) [17]Трансформационный файл делается один раз и именно XMLMapper. А потом юзаешь его через TXMLTransform и др. со вкладки Data Access
← →
sokohigh (2003-11-26 16:57) [18]Была в начале этого месяца дискуссия в этом форуме, называлась "загрузка XML в DataSet" - она уже ушла в архив. Мне кажется, Вам стоит с ней ознакомиться.
← →
Siv Soft (2003-11-27 10:54) [19]Познакомился. Интересно, однако вопрос остался открытым. В конце этой дискуссии так на него и не ответили.
А именно: как программно реализовать файл трансформации? Ведь в той же утилите ХМЛМаппере это делается с помощью компонентов и кода. А в той дискуссии незнайка2003 говорил о компонентах на torry, с помощью которых хмл файл можно загрузить в датасет.
← →
Siv Soft (2003-11-27 15:21) [20]HELP! HELP! HELP!
Страницы: 1 вся ветка
Текущий архив: 2003.12.19;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.014 c