■69042 / inTopicNo.2) |
Re[1]: DataSet設定に出てくる謎の値 @Param |
□投稿者/ WebSurfer (95回)-(2013/11/29(Fri) 15:52:26)
|
■No69041 (Яアルビノフォックス さん) に返信 > visual Basic 2010、言語 c#でコーディングを行っているときに出る文字です。 > > dataGridViewを使用したいのでDatasetを作成して表示しているのですが、いざデータベースを更新しようとするとできません。 > Updateコマンドを設定し忘れてたのですが、そのとき編集しようとすると謎の文字が出てきます。 > つまり > > UPDATE EQUIP //更新したいデータ項目が入ってるデータセット > SET GoodsGroup=?,GoodsName=? > WHERE (GoodGroup=?,GoodsName=?) > としたいのですが、この通りに書くと > > UPDATE EQUIP > SET GoodsGroup=@Param1,GoodsName=@Param2 > WHERE (GoodGroup=@Param3,GoodsName=@Param4) > といった謎の文字に自動変換されてしまいます。 > > 以前ADOでコードしたときは普通に?が入力できたのですが、これは一体何なんでしょうか? > そして解消法はあるのでしょうか?なお、INSURTのほうでも同様のものが出てきます。 > > よろしくお願いします。 >
何をどうやったら変換されたのか知りませんが、@ とか ? はクエリの パラメータ化の際の命名規則の一つです。
クエリをパラメータ化するというのはリテラルの部分をプレースホル ダを使って記述することです。SQL Server の例では以下のようにな ります。
SELECT id, Product FROM TableA WHERE Category=@Category
プレースホルダの構文はデータソースに依存します。SQL Server の場 合は @parametername 形式の名前付きパラメータが使用されます。
OleDB の場合は、疑問符 (?) で指定される位置パラメーターマーカー が使用されます。
パラメーターおよびパラメーターのデータ型の構成 (ADO.NET) http://msdn.microsoft.com/ja-jp/library/yy6y35y8%28v=vs.100%29.aspx
|
|