FieldByNameとParamByNameの違い

解決


yTake  2014-07-28 22:17:32  No: 46501

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

です。


take  2014-07-29 00:27:36  No: 46502

yTakeさんへ

まったく同じ事をされているサイトがありますので
そちらを参考に

studio-take
http://www3.netwave.or.jp/~take0/dt_Query.htm

こちらのペンネームとそちらのペンネームと
サイト名が似ているのは偶然です。


yTake  2014-07-29 18:25:34  No: 46503

takeさん

大変参考になるサイトをご紹介頂きありがとうございます。

ここへ問い合わせる前、ネット上を当たってみたのですが、その時は見落としたのかもしれませんね。

takeさんと私のペンネームが似ているのは偶然ですけれど、紹介頂けたサイトの運営者はtakeさんではないのですね。
偶然が重なるものです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加