日記帳
本ページはプロモーションが含まれています
カテゴリー
Links
blog(ブログ)マスター
アンドロイドの巣
ゼロから始めるベランダ菜園
タイトル
2024年11月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

Delphi database メモQuery編1

2006-05-11
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

あっ 
bde
dbdesktopで
インデックス消して再構築し直して
インデックス作ったら直った。。。
Win95でも この高速性はなんだ。。。さすがBDE
ミラクルな速度です
うーん。。。 firebird化やーめた。


PR

[PR]