まとまりのないブログ

something which something is something

delphi

InterBaseコンポーネントでSQLを実行する方法

投稿日:

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

-delphi

執筆者:


comment

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

delphiで組み込みデータベースを使うときの候補

調べた範囲では3つ sqlite firebird Microsoft Access それぞれのコネクションに使うコンポーネント sqlite delphi用のフリーのsqlite wrapper h …

no image

IBQueryとIBTransaction

————————— デバッガ例外通知 ———&#8212 …

no image

TDBGridとTStringGrid

IBQueryやIBDatasetで開いたテーブルをそのまま表示するなら、DBGridでやれば簡単だが、select文を実行した結果のテーブルセットにちょっと手を加えようと思ったらStringGrid …

no image

Delphi 文字列の切り取り

文字列からある部分を切り取る、というようなことをしたかったが、よくあるsubstring関数のようなものはDelphiにはない模様(自分が調べきれていないかもしれないが)。かわりにcopy関数というも …

no image

DelphiのDBgridのmultiselect

DBGrigのmultiselectプロパティをtrueに設定してみてもマウスドラッグでマルチセレクトされないから何か他の設定方法があるのかとおもいきや、操作方法が難しいだけだった。 – …