プログラムではなくLazarusオブジェクトを使用していくつかのクエリを実行しています(うまく行おうとしています)。DB接続とトランザクションをセットアップし、クエリとやり取りして、TDBGridに最初のクエリを読み込んでいます。ここでやりたいことは、グリッド セルをクリックして、クエリで使用する ID 値を選択できるようにすることです。
TSQLQuery オブジェクトをセットアップしてソースにリンクし、これを SQL プロパティに入力しました。
SELECT * FROM tbl_accounts
WHERE tbl_accounts.ClientID = :AccID
ただし、パラメーターをオブジェクトに渡す方法がわかりません...私の手順は次のようになります。
procedure TtcheckHome.accResultsCellClick(Column: TColumn);
begin
selected := listAccounts.Fields[0].AsString;
// accSelect.SQL.Text := 'SELECT * FROM tbl_accounts WHERE tbl_accounts.ClientID = 2';
accSelect.Params.ParamByName('AccID').AsString := selected;
textEdit.Text := accSelect.FieldByName('AccountNumber').AsString;
end;
これは常に accSelect で返されます: Field name AccountNumber not found, ただし、Params への参照を削除し、ID をクエリにハードコーディングすると、完全に機能します。これは、バインドされたパラメーターを使用するための私の方法が間違っていると私に信じさせます! 私は何を逃したのですか?