お世話になっています。
現在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;
のように値を放り込む方法も考えたのですが、
ソースの見易さから躊躇しております。
同一名のパラメータに値を一括でセットする良い方法はないでしょうか。
よろしくお願いいたします。
ツイート | ![]() |