Sidebar |
Delphi database メモQuery編1
TQuery 実行時に SQL 文を実行するには Open または ExecSQL のメソッドを使います。 TIBQuery Prepare 実行前の最適化のため,サーバーに問い合わせを送信します。 ExecSQL 問い合わせを実行する SQL 文を実行します。 TIBSQL Open データセットが開いているかどうかを指定します。 Prepare 実行前の最適化のため,サーバーに問い合わせを送信します。 ExecSQL 問い合わせを実行する SQL 文を実行します。 Win95で動かしたくなったので既存アプリ実行すると インデックスが古いですとエラー ・・・ よくわからないエラーに遭遇・・ 動くはずなんだけど・・・ データベースエンジンのバーションが違うせいかな・・・ ということで、BDEを切り離したくなったので バージョンを固定しようと思ったので お手軽な Firebird embededを使ってみることに決定。 あれ? TQueryからの移行でTIBSQLに書き換えて openで動作しないから 文をいれろとか変なエラーがでるし 強引に実行したら あれれ 結果が返らない ・・・ と悩むこと実行を繰り返し10数分・・・ ヘルプと見てみる。 (゚ロ゚)・・・ 「し・よ・う」 が 「ち・が・う」!! open; → Prepare(); ExecQuery; で解決 TIBQuery は InterBase SQL 文を実行します。 TIBSQL は,最小限のオーバーヘッドで InterBase の SQL 文を実行するオブジェクトを提供します。 まぁ、 いいとして、 うーん・・・ どっちにしようかなぁ・・・・・ デバッグが大変だ・・・ Autoincがないからつらいなぁ・・・ みつからないからselectでmax+1にでもしようかと思いましたが そのへんは、IBOConsole から SQLを放り込んで解決 (これ探すのに1時間かかりました(;_;) ) CREATE GENERATOR "名前_GEN"; CREATE TRIGGER "TRIG_test_Autoinc" FOR "test" ACTIVE BEFORE INSERT POSITION 0 as /* code here */ begin NEW."index" = GEN_ID("test_index_GEN", 1); end » 続きを読む |
Sidebar |