Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: CL | DM;

Вниз

Вставка BLOB поля в таблицу MySQL   Найти похожие ветки 

 
WolandUSSR   (2004-12-20 08:47) [0]

Нужно вставить BLOB поле в таблицу MYSQL. Использую dbExpress. Вот код:

var BStream:TSQLBlobStream;
   BField:TBlobField;
begin
DataSet.Close;
BField:=TBlobField.Create(Owner);
BField.SetFieldType(ftBlob);
BField.FieldName:="Data";
BField.DataSet:=DataSet;

WorkQuery.SQL.Clear;
WorkQuery.SQL.Add("INSERT INTO tdata (ID,Data) VALUES(1,NULL)");
WorkQuery.ExecSQL;

DataSet.Close;
DataSet.CommandText:="SELECT data FROM tData where ID=1";
DataSet.Open;
BStream:=TSQLBlobStream.Create(DataSet.FieldByName("Data") as TBlobField,bmRead);
DataSet.Edit; <<-- здесь ошибка
OLEContainer.SaveToStream(BStream);
BField.Index:=DataSet.FieldCount;
BField.LoadFromStream(BStream);
DataSet.Post;
end;


Выдает ошибку: Data Set Read only.
В хелпе по этому поводу написано: "There is no built-in editing support: you can only edit the data in an SQL dataset by explicitly creating an SQL UPDATE command or by connecting the dataset to a client dataset using a provider."

Что значит "client dataset using a provider"?
Как с этим вообще бороться?

Решпект.


 
Nikolay M. ©   (2004-12-20 09:50) [1]


> Что значит "client dataset using a provider"?
> Как с этим вообще бороться?

Очевидно, написано, что если ты хочешь делать

DataSet.Edit;
...
DataSet.Post;

то к твоему датасету нужно подцепить DataSetProvider, a к нему - ClientDataSet и работать с данными уже через ClientDataSet. Собственно, такая связка CDS-DSP сводит редактирование полей к генерации провайдером запросов INSERT/UPDATE/DELETE.
А лучше, имхо, взять Zeos library и не мучиться.



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

Текущий архив: 2005.01.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.066 c
10-1082010459
Сергей Бушин
2004-04-15 10:27
2005.01.23
Как узнать имеются ли у сервера клиентские подключения


1-1104962459
dmk
2005-01-06 01:00
2005.01.23
Как узнать, что мое окно находится над другим?


9-1095732632
Jus
2004-09-21 06:10
2005.01.23
Хочу написать игру лоде-рунер(с редактором карт)на движке DelphiX


1-1104406951
den303
2004-12-30 14:42
2005.01.23
TButton+Glyph


14-1104968574
InTr
2005-01-06 02:42
2005.01.23
Внедрение своего кода в другой бинарник