• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#、ADO.Netでのパラメータの指定方法)

C#、ADO.Netでのパラメータの指定方法

このQ&Aのポイント
  • C#とSQLServerでアプリケーションを作っている方が、指定した期間のデータを抜き出す際にパラメータの指定方法で困っています。
  • データアダプターを使用してSQLを実行し、開始日と終了日が指定した期間のデータを抜き出そうとしています。
  • プログラムのコード上でパラメータに値を指定しているが、ビルドエラーが発生し、正しくデータを抽出できません。アドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakuhat
  • ベストアンサー率61% (11/18)
回答No.1

OleDbしか使ったことないのですがお答えします。 sqlSelectCommand2はsqlDataAdapter1のプロパティではないので sqlDataAdapter1.sqlSelectCommand2のような書き方は出来ないです。 sqlDataAdapter1.SelectCommand = sqlSelectCommand2; sqlSelectCommand2.Parameters["@SD"].value = "2005/01/01"; で出来ると思います。 sqlDataAdapter1のSelectCommandにsqlSelectCommand2を入れたので sqlDataAdapter1.sqlSelectCommand2のような書き方をしたのだと思いますが 変数と同じでどんな値を入れてもプロパティ名までは変わらないです。 データアダプタからつなげて書くとしたら sqlDataAdapter1.SelectCommand.Parameters["@SD"].value = "2005/01/01"; ※SelectCommandを先に設定する必要があります とします。

kenton
質問者

お礼

sakuhatさん、回答ありがとうございます。 回答に頂いた内容は、「そういうことか!」とわかり、実行に移ったのですが、 結果としてエラーが出ます。 System.Data.sqlClient.sqlParameterにvalueの定義がありません。・・・I "プロジェクト名.Dataset1"は'クラス'を意味しますが、'変数でなければなりませn' 静的でないフィールド、メソッド、またはプロパティ'プロジェクト名.Form1.sqlDataAdapter1 'で、オブジェクト参照が必要です。 と、出ます。 Iは、「sqlDataAdapter1.SelectCommand」部分に、それ以外は、valueを設定している第2文を指定しているようです。 回答内の※の部分は、sqlDataAdapter1のSelectCommandプロパティ内に書かれています。 もう一度、作り直してみますが、何かお気づきの点がありましたら、よろしくお願いいたします。

その他の回答 (1)

  • sakuhat
  • ベストアンサー率61% (11/18)
回答No.2

SqlParametersのプロパティはvalueではなくValueでした。 すいません。 しかし、他のエラーは別の部分のエラーだと思います。 他の部分を見直してみてください。

kenton
質問者

お礼

sakuhatさん、回答ありがとうございます。 Valueの件は、仰っているように大文字にするとエラーは出なくなりました。 後者のエラーについては、まだ不明です。 コードとにらめっこします。