нашел такой кусок кода
procedure TfrmMain.btnLoadImageClick(Sender: TObject);
var
BlobStream: TStream;
FileStream: TStream;
begin
if Dataset.Active then begin
dlgOpenFile.Filter := 'Bitmap files (*.bmp)|*.BMP';
if dlgOpenFile.Execute then begin
begin
if Dataset.State <> dsEdit then
Dataset.Edit;
BlobStream := Dataset.CreateBlobStream(
Dataset.FieldByName(edtBlobColumn.Text), bmWrite);
try
FileStream := TFileStream.Create(dlgOpenFile.FileName, fmOpenRead);
try
BlobStream.CopyFrom(FileStream, FileStream.Size);
finally
FileStream.Free;
end;
finally
BlobStream.Free;
end;
Dataset.Post;
end;
end;
end;
end;
Здесь датасет преводится в режим редактирования (Dataset.Edit;).
Как сделать другими компонентами zeos, не используя это датасет (просто он всегда в ReadOnly режиме - на него навязан DBGrid) ?
Т.е. как к примеру Update'ом и например ZQuery(или другим компонентом zeos) обновить поле строки с ID=36345 - трудность в объекте BlobStream,
т.е я же не смогу записать:
ZQuery.....:='update mytab set colblob='+BlobStream......+' where ID='+....
размер файла может быть большим....