他のスレッドを参考に登録しようとしているんですがうまくいきません。
ご指導助言お願いします。
//FieldByNameで書き込んでみる
var
JP:TJpegImage;
ST:TStream;
begin
with DbisamQuery do
begin
Insert;
JP := TJpegImage.Create;
ST := CreateBlobStream(FieldByName('JPEGIMAGE'),bmWrite);
JP.Asign(Image1.Picture.bitmap);
JP.SaveToStream(ST);
Post;
JP.Free;
ST.Free;
end;
end;
//手続きは完了しますが、次のレコードに移ろうとしたり、フォームを閉じようとすると
「DBISAM EngineError#10030Invalid BLOB Handle for the Table '#####'Specified」
となります。
#####はいつも番号が変わってる。
//UpdateSQLを使ってみる
var
JP:TJpegImage;
ST:TStream;
begin
JP := TJpegImage.Create;
ST := TStream.Create;
JP.Asign(Image1.Picture.bitmap);
JP.SaveToStream(ST);
with DBISAMUpdateSQL do
begin
Query[ukInsert].ParamByName('JPEGIMAGE').SaveToStream(ST);
ExecSQL(ukInsert);
end;
JP.Free;
ST.Free;
end;
//だと「Abstructエラー」となります。
SteamじゃなくてMemoryStreamで上手くいきました。
自己完結ですいません。
ツイート | ![]() |