yTakeです。
他のQ&Aを参考にさせてもらって、Firebird DBのBLOB型フィールドへ画像データを登録読み出しを試みました。
次の様にしましたが、EDatabaseError メッセージ'IBQuery'パラメータ'IMAGE_1'がみつかりませんとなります。
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
var
MStrm : TMemoryStream;
MStrm := := TMemoryStream.Create;
with IBQuert do
begin
for i := 0 to max
begin
SQL.Text :='SELECT * from TBL1 where ID = ''' + IntToStr(i) + '''';
Open();
MStrm.LoadFromFile( Info[ i ].Image_filename );
FieldByName( 'ID' ).Value;
ParamByName( 'IMAGE_1' ).LoadFromStream( MStrm, ftBlob );
Close();
end;
end;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Firebird DB上では、'IMAGE_1'と言うフィールドはありますが、'IMAGE_1'と言うパラメータはありません。
格納すべき入れ物は、フィールドだと思うのですが、、、
読み出しは、次の様に考えています。
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
var
Strm : TStream;
Strm := CreateBlobStream( FieldByName('Image_1'), bmRead );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ご教授頂ければと思います。
環境:
DELPHI XE3 + Firebird v2.5
Windows 7
です。
yTakeさんへ
まったく同じ事をされているサイトがありますので
そちらを参考に
studio-take
http://www3.netwave.or.jp/~take0/dt_Query.htm
こちらのペンネームとそちらのペンネームと
サイト名が似ているのは偶然です。
takeさん
大変参考になるサイトをご紹介頂きありがとうございます。
ここへ問い合わせる前、ネット上を当たってみたのですが、その時は見落としたのかもしれませんね。
takeさんと私のペンネームが似ているのは偶然ですけれど、紹介頂けたサイトの運営者はtakeさんではないのですね。
偶然が重なるものです。
ツイート | ![]() |