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

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

XML-файл и DBGrid


Lavrenty ©   (2007-03-14 10:09:00) 

Пытаюсь подключить XML-файл через ClientDataSet к DBGrid, но что-то не получается. У ClientDataSet через FieldDefs определяю поля, через контекстное меню 'Create DataSet' создаю набор данных, в Fields Editor задаю поля, указываю имя файла xml, из которого брать данные, но при попытке сделать Active=true ошибка 'Mismatch in datapacket?


alex_***   (2007-03-16 15:44:00) [1]

да сам пропарсил бы давно и залил в ADODataSet, ну или через XMLDocument, если файл не очень большой.


Val   (2007-03-16 13:31:00) [2]

автор - расскажи нам всем - чем создавал файл?


Megabyte   (2007-03-16 13:01:00) [3]

"Mismatch in datapacket" - у меня эту ошибку выдавало, когда я пытался обычный xml-файл использовать в CDS.


Jan   (2007-03-16 09:41:00) [4]


> У тебя не тот формат .xml-файла!

у него он от ADO:)


Megabyte   (2007-03-15 19:18:00) [5]

У тебя не тот формат .xml-файла!
Для начала тебе надо преобразовать файл в понятный формат для Датасета.
Это делается с помощью компонента ТXMLTransform.
НО, для форматирования надо задать правила форматирования. Чтобы сделать это автоматически, надо использовать утилиту xmlmapper.exe
С помощью ее создаешь правила, сохраняешь их в файл и прописываешь имя файла в свойство компонента ТXMLTransform


Lavrenty   (2007-03-15 14:42:00) [6]


> хотя, если вы, при отсутствии коннекта с бд сегодня с утра
> хотите показывать вчерашние данные, то я извиняюсь, что
> сразу не догнал.

Примерно так и есть. Попробовал так

ClientDataSet2.LoadFromFile('c:\data.xml');

но получаю ошибку "Mismatch in datapacket". Подсказали попробовать с TXMLTransformProvider. Прочитал Help, ничего не понял. Может кто подскажет как же всё-таки трансформировать data.xml в нужный для ClientDataSet формат?


Val   (2007-03-14 11:57:00) [7]

хотя, если вы, при отсутствии коннекта с бд сегодня с утра хотите показывать вчерашние данные, то я извиняюсь, что сразу не догнал.


Val   (2007-03-14 11:31:00) [8]

>Lavrenty ©
если проблема только в том что вы описали(вывод на табло при ошибках сервера и т.д.), то применение хмл-файла несколько неоправданно. может стоит подумать о верной/нужной обработке исключений?


Jan   (2007-03-14 10:59:00) [9]


> Похоже он требует подключения подключения к таблице, а мне
> это не надо - выдаёт ошибку "Missing connection ..."

врете


Lavrenty   (2007-03-14 10:36:00) [10]


> к сведенью, у TADODataset есть метод LoadFromFile.

Похоже он требует подключения подключения к таблице, а мне это не надо - выдаёт ошибку "Missing connection ..."


Jan   (2007-03-14 10:28:00) [11]


> Lavrenty ©   (14.03.07 10:23) [2]

к сведенью, у TADODataset есть метод LoadFromFile.


VAleksey   (2007-03-14 10:24:00) [12]

Удалено модератором
Примечание: По просьбе автора


Lavrenty   (2007-03-14 10:23:00) [13]

Дело в том, что необходимо отображать данные в гриде на информационном табло, а сама база на сервере. Если с ервером или с базой что-то случится, то на табло "огромными" буквами будет сообщение об ошибке, что не совсем, мягко говоря, красиво. Народ будет ходить и смотреть на всё это безобразие. Поэтому надо сделать независимым табло от базы. Оно будет читать данные из хml-файла, в который данные периодически будут сбрасываться из базы.


Jan   (2007-03-14 10:12:00) [14]

если ты подключаешь xml из ado? Зачем тебе ClientDataSet?


Наверх

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