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

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

запись select-а в XML файл [D7]


Страницы:   1 2 3

Анна ©   (2008-01-25 12:33:00) 

Здравствуйте, мастера!
Можно ли в Delphi результаты select-a записать в файл XML? Чтобы дальше использовать файлы XML, как таблицы БД, делая к ним запросы, вставляя в них новые данные и удаляя неверные. И все это средствами Delphi. Если "да", то какие компоненты надо использовать?  
Сделала в QA:
select id_prod,red_prod  from fish_prod where id_prod in (1,2) for xml auto,elements
Записала рез-т в файл на жесткий диск .XML. Попробовала открыть его в интернет эксплор, выдает ошибку:
В текстовом комментарии обнаружен недопустимый знак. Ошибка при обработке ресурса ''file:///D:/tttt.XML''.
Прочитала в статье, что для корректной записи XML файла надо :
select id_prod,red_prod  from fish_prod where id_prod in (1,2) for xml   EXPLICIT
Но не знаю как в Delphi записать XML файлы.
Дайте пож ссылку, чтобы прочитать, если такая технология (работа с данными через XML файлы) возможна. И Ваше мнение.


ketmar   (2008-01-28 09:53:00) [41]

>[15] Анна (28.01.08 09:49)
SQLite, FireBird Embedded.


Анна   (2008-01-28 09:49:00) [42]


> sniknik ©   (28.01.08 09:35) [14]

Что Вы можете посоветовать в качестве БД для удаленных клиентов, у которых слабые компьютеры и которые не смогут ничего инсталировать (СУБД). Спасибо за ответ!


sniknik   (2008-01-28 09:35:00) [43]

> Хотелось бы получить ответ от sniknik-а.
я не знаю ни одного sql движка работающего с XML.

> Может у кого-нибудь есть опыт работы с XML файлами?
а вот этого полно, как ни отбрыкивался... всегда среди клиентов находятся лохи поверившие в "универсальность" формата и пихающие его куда ни попадя...

у датасетов (ADO/Client) свой формат, универсальности нет, придется конвертировать, более менее всё открывает IDOM Document, но и там заморочки, достаточно большие базы не открывает памяти не хватает (было както прислали базу целиком в одном XML - 2 гб.) и если используется особый парсер (там указывается его гуид в заголовке) а у вас он не установлен то тоже проблема (как правило на "той" стороне даже не понимают, что от них хотят, какой COM щбьект? и как так вы не можете прочитать "универсальный" формат? ....).

если хочеш совета - откажись от XML в качестве базы. максимум на что он способен это передать данные из одного места в другое (и зачастую простейший dbf с этим проще, лучше справляется).


Анна   (2008-01-28 09:16:00) [44]

Решила поднять свою ветку. Может у кого-нибудь есть опыт работы с XML файлами? Поделитесь пож-та.


Анна   (2008-01-25 16:27:00) [45]

Если еще кто-ниб ответит к понедельнику по моему вопросу, буду очень благодарна. Хотелось бы получить ответ от sniknik-а.


Анна   (2008-01-25 15:17:00) [46]


> TClientDataSet.SaveToFile(FileName, dfXML)

Я так и сделала. Но ругается, т.к. имя поля оч. длинное:
"Fieldname XML_F52E2B61-....   exceeds 31 chars"
ClientDataSet1.FieldDefs.Assign(Q_fish.FieldDefs);
ClientDataSet1.CreateDataSet;
ClientDataSet1.Open;
Q_fish.first;
while not(Q_fish.Eof) do
begin
 ClientDataSet1.Append;
  for i:=0 to Q_fish.FieldCount-1 do
  begin
   ClientDataSet1.Fields[i].Value:=Q_fish.Fields[i].Value;
  end;
 ClientDataSet1.Post;
 Q_fish.Next;
end;//while
ClientDataSet1.SaveToFile('d:\hhhh',dfXML);


Ega23   (2008-01-25 15:08:00) [47]


> Вы написали ClientDataSet.


TClientDataSet.SaveToFile(FileName, dfXML)


Анна   (2008-01-25 14:47:00) [48]


> Sergey13 ©   (25.01.08 14:37) [8]

Спасибо, знаю. Но хочу попробовать  через XML! Поэтому и прошу консультаций у вас.


Sergey13   (2008-01-25 14:37:00) [49]

> [3] Анна   (25.01.08 14:11)
> У клиента не хочу устанавливать никакого сервера

Существуют [а-ля] встроенные (embedded) сервера. Например FireBird. Не требует инсталяции, но является ПОЛНОЦЕННЫМ SQL сервером.


Анна   (2008-01-25 14:32:00) [50]


> clickmaker ©   (25.01.08 14:17) [6]


> это только Local SQL. Но он ограничен

Про  SQL for XML  знаю, что он не поддерживает вложенный оператор SELECT, преобразование данных и т.д.
Подскажите пож-та как корректно записать XML файл? Так же как текстовый? (WriteLn напр.)
Вы написали ClientDataSet. Что и  в каких св=вах надо указать?


clickmaker   (2008-01-25 14:17:00) [51]


> не хочу устанавливать никакого сервера. Но хочу пользоваться
> возможностями SQL запросов

это только Local SQL. Но он ограничен


Kolan   (2008-01-25 14:14:00) [52]

> второе действие сделать


Чтобы и рыбку съесть, и пользоваться возможностями SQL запросов.
?


Ega23   (2008-01-25 14:11:00) [53]


> У клиента не хочу устанавливать никакого сервера. Но хочу
> пользоваться возможностями SQL запросов.


Так не бывает.
Чтобы и рыбку съесть, и второе действие сделать.


Анна   (2008-01-25 14:11:00) [54]


> А какой в этом смысл?

У клиента не хочу устанавливать никакого сервера. Но хочу пользоваться возможностями SQL запросов.


Sergey13   (2008-01-25 13:17:00) [55]

> [0] Анна   (25.01.08 12:33)
> Чтобы дальше использовать файлы XML, как таблицы БД, делая
> к ним запросы, вставляя в них новые данные и удаляя неверные.

А какой в этом смысл?


clickmaker   (2008-01-25 12:41:00) [56]

ClientDataSet


Страницы:   1 2 3

Наверх

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