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

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

SQL запросы в XML через ClientDataSet


Страницы:   1 2

Galiaf ©   (2007-05-26 18:02:00) 

Пока писал на ado для access даже не использовал DataControls, а вот по сабжу появились проблемы, если я не собираюсь использовать TDBGrid или использовать толкьо для чтения, как же мне тогда добавлять, редактировать и удалять записи одним только ClientDataSet'ом? Я пытался прописать самый простой запрос в commandTex но даже он не работает.


Loginov Dmitry   (2007-05-27 21:20:00) [21]

Все делается как обычно. Пример:


procedure TForm1.btnSaveClick(Sender: TObject);
var
 BF: TStream;
 I: Integer;
begin
 cds.FileName := 'd:\cds.xml';
 cds.FieldDefs.Add('Img', ftGraphic);
 cds.CreateDataSet;
 cds.Open;
 for I := 1 to 10 do
 begin
   cds.Append;
   BF := cds.CreateBlobStream(cds.FieldByName('Img'), bmWrite);
   Image1.Picture.Bitmap.SaveToStream(BF);
   BF.Position := 0;
   TBlobField(cds.FieldByName('Img')).LoadFromStream(BF);
   BF.Free;
   cds.Post;
 end;
end;

procedure TForm1.btnLoadClick(Sender: TObject);
var
 BF: TStream;
begin
 cds.First;
 cds.Next;

 BF := cds.CreateBlobStream(cds.FieldByName('Img'), bmRead);
 Image1.Picture := nil;
 Image1.Picture.Bitmap.LoadFromStream(BF);
 BF.Free;
end;


sniknik   (2007-05-27 21:06:00) [22]

> Прошу поделиться опытом.
опыт "лежит" в примерах дельфи, надо только его оттуда взять...


Galiaf   (2007-05-27 20:46:00) [23]

Извиняюсь за предыдущий вопрос, просто в последний раз когда я работал с mdb я добавлял и редактировал sql запросами, но чуть раньше я научился добавлять и редактировать компонентой tadotable, а у tclientdataset'а методы всё теже, так что вопрос по редактированию отпадает.

В данный момент проблема несколько другого плана, как сохранять изображения в таблице xml? Я создал поле image типа ftGraphic, в файле таблицы это поле описано следующим образом:

<FIELD attrname="image" fieldtype="bin.hex" SUBTYPE="Graphics"/>

При попытке записать изображение следующим образом:

cds.FieldValues['image']:=img.Picture.Bitmap;

получаю ошибку о несовместимости типов tbitmap и variant. В общем даже если и найду как сохранить рисунок, то не найду как его от туда достать. Уверен многие знают как это делается и как это делается правильно. Прошу поделиться опытом.


Galiaf   (2007-05-27 09:18:00) [24]

Хреново! Чтож я тогда взялся на нём писать??? Ну ладно, в любом случае там должна быть возможность добавления и изменения записей вручную, не подскажешь как это делается?


sniknik   (2007-05-26 18:17:00) [25]

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


Страницы:   1 2

Наверх

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