sql構文に変数は使えますか?

解決


godon  2007-09-04 01:20:18  No: 27649

いつも大変お世話になっております。
下記のようにSQLに変数を入れて参照したいのですが
iにはデフォルト値がありませんとエラーがでます。
そもそもSQLに変数を含ませることは不可なのでしょうか?
接続はMDBです。
くだらない質問かと思いますがよろしくお願いします。

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
i:=3;
adoquery1.Active:=false;
adoquery1.SQL[0]:='select * from testtable where id=i';
adoquery1.Active:=true;
end;


Ru  2007-09-04 01:42:39  No: 27650

パラメータとして使ってください。

adoquery1.Active:=false;
adoquery1.SQL[0]:='select * from testtable where id = :param1';
adoquery1.ParamByName('param1').AsInteger := i;
adoquery1.Active:=true;


Syake  2007-09-04 02:54:28  No: 27651

こんなのは
    'SELECT * FROM testtable WHERE id = ' + IntToStr(i);
いかがですか?


godon  2007-09-04 03:27:47  No: 27652

出来ました!
Ru様、Syake様、素早く回答していただき、ありがとうございました。
構文の意味は今から調べます。


godon  2007-09-04 03:29:03  No: 27653

解決チェック忘れました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加