まとまりのないブログ

something which something is something

delphi

IBQueryのサンプルコード

投稿日:

sql := ‘insert into table(id,name) values(1,’test’)’;
IBQuery1.SQL.SetText(PWideChar(sql));

IBDatabase1.Open;
try
IBTransaction1.StartTransaction;
IBQuery1.ExecSQL;
IBTransaction1.Commit;
except
IBTransaction1.RollBack;

IBDatabase1.Close;

IBSQLというコンポーネントもあるが、IBQUERYと大体同じような使い方でいける。挙動は微妙に異なるような。
いちいちトランザクションを設定しないといけないのが面倒ではあるけれども。

データベースを開いたり閉じたりというのは、普通、どういう感じで実装しているのはわからない。トランザクション毎に開いて閉じて、という風にやるのは行儀が良いといえなくもないが、冗長な気もする。アプリケーション実行時に開いて、終了時に閉じるというのは雑すぎるような気もするし。(強制終了した場合は閉じないままとなってしまう可能性があり、そうなるとどういう問題が発生するのかも検証しないといけないし。多分、それはそれほど大問題にはならないとは思うが。それよりもコミットとロールバックしないままというのが問題だと思う)

・・・後者を採用してみるか。

-delphi

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

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

関連記事

no image

Delphi DBGridのSelectedRows

DBGridのSelectedRowsで行数を取得するには、DBGridのプロパティのオプションでdbRowSelectとdbMultiSelectをTrueに設定しておかなければ行数を取得することが …

Delphi – Listboxの使い方

DelphiのコンポーネントListboxの使い方について。 項目の取得 ListBox1.Items[0] 項目の追加 ListBox1.Items.Add(‘abc’); …

no image

Delphi OnGetTextイベント

OnGetTextイベントという名前だけは知っていたが、それがどのコンポーネント(?)のイベントなのかわからなかったので使い方がどうのまで進めなかった。OnGetTextイベントはTFieldが持って …

no image

Delphi DBGridのデータが(WIDEMEMO)と表示される

DelphiのDBGridはlong varchar型をサポートしていないために表示させようとするとWIDEMEMOという表示になってしまう。回避するには、OnGetTextイベントで値を文字列として …

Delphi – TStringListの使い方

DelphiのTStringListについて。TStringListは文字列をリストとして扱うクラス。 宣言 var sl:TStringList; 初期化 sl := TStringList.Cre …