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


みつお  2007-12-18 11:23:30  No: 28979  IP: 192.*.*.*

お世話になっています。
現在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;

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

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

編集 削除