|
■No47704 (QT さん) に返信
> 調べてみたところ、
DateTimePickerは関係無かったみたいですね。(^^;
> PARAMETERS句の各パラメータの並びとコマンドにパラメータを追加する順を
> 同じにしたところ正常に登録されるようになりました。
> 並びを同じにしなければならないのでしたら、PARAMETERS句を使っている意味もない気がします・・・。
同じ並びになっていない状況というのは、
PARAMETERS @変数1 型1, @変数2 型2, @変数3 型3;
というパラメータークエリーに対して、
Cmd.Parameters.Add("@変数1", 型1)
Cmd.Parameters.Add("@変数3", 型3)
Cmd.Parameters.Add("@変数2", 型2)
のような登録を行っていた、という意味でしょうか?
それとも、.Parameters.Add の順番は PARAMETERS 句と一致させていたけれども、
PARAMETERS @変数1 型1, @変数2 型2, @変数3 型3;
UPDATE foo SET Col1 = @変数3, Col2 = @変数1 WHERE Col3 = 変数2;
のように、DML 中での登場順と PARAMETERS 句での記述順が異なっていたという意味でしょうか?
前者の意味だとしたら、それはそういう仕様です。
DAO や ADO(Jet OLE DB Provider)で処理した場合には、パラメータ名を自動取得できるのですが、
ADO.NET 経由だと、パラメータ名を正しい順番で手動管理しなければなりません。
|