ADOクエリーの同一名パラメータのセット方法


みつお  2007-12-18 20:23:30  No: 28979

お世話になっています。
現在BDE+SQLSERVER2000システムを
ADO+SQLSERVER2005へ置き換えています。
そこで問題になったのが、SQL内の同一名パラメータなのですが、

SELECT :DAT1 * 10 AS DAR1,
       :DAT1 / 10 AS DAR2,
       NAME

FROM MCNT

とした時BDEの場合、

TQuery.ParamByName('DAT1').AsInteger := 1;

ですべてのパラメータに値がセットされていたのですが、

ADOの場合、

TQuery.Parameters.ParamByName('DAT1').Value := 1;

とすると、

TQuery.Parameters[0] にのみ値が入り、
TQuery.Parameters[1] に値が入りません。

TQuery.Parameters[0].Value := 1;
TQuery.Parameters[1].Value := 1;

のように値を放り込む方法も考えたのですが、
ソースの見易さから躊躇しております。

同一名のパラメータに値を一括でセットする良い方法はないでしょうか。
よろしくお願いいたします。


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

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






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