IBQuery
sql:= ‘select id,itemName from item’;
IBQuery1.SQL.SetText(Pwidechar(sql));
IBQuery1.Open;
IBSQL
sql:= ‘insert into item(id,itemName) values(100,”’test”’)’;
IBSQL1.SQL.SetText(PWideChar(sql));
IBSQL1.ExecQuery;
IBDataSet
sql:= ‘select id,itemName from item’;
IBDataSet1.SelectSQL.Text := sql;
IBDataSet1.Open;
どれを使えばいいのかわからない件
IBQueryとIBDataSetはIBDataSourceのdatasetプロパティに設定をすることができる。Openプロシージャでselect文の結果セットがDBGridにバインドされる。IBSQLというのはinsertやdeleteなどのSQLを実行するコンポーネント・・・という理解でいいのだろうか。delphi XE2ではdbExpressのコンポーネントを使うことが推奨されているらしいが、それにしても似たようなコンポーネントでしかも同じような使い道ができるものが多いため戸惑う。
どうでもいいけれどfirebirdはSQL文中の文字の値はシングルクォートで囲まないといけないのか。知らなかった。
下記のページがよくまとまってある。
Databases – Delphi/Firebird – SQL