まとまりのないブログ

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 文字列の置換

StringReplace関数というものがあるのか。結構探してしまったが。usesにSystem.SysUtilsを追加で使える。日付の2012/04/01を2012-04-01に変換するのに使った。 …

no image

TDBGridとTStringGrid

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

no image

DelphiのDBgridのmultiselect

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

Delphi – string型

Delphiのstring型について。一般的なプログラミング言語にある文字列を扱う型。char型は1文字を扱うがstring型は複数の文字からなる文字列を扱う。string型はchar型が配列となった …

no image

sqlite3とfirebirdどちらをdelphiで使うか

また迷ってきた。TStringGridを使うならsqliteでも別に構わないということに気づいた。そもそもfirebirdを使うことにしたのはDBGridにselect文の結果データセットを上手くバイ …