私はdataGridViewにデータを選択して年と月に配置できるC#でプログラムを作成しています。年の部分は簡単です。私は、コンボボックスから年を選択して、私はこのクエリを実行します。データ型 "date"のmonthを選択するにはどうすればいいですか?
"SELECT * FROM table WHERE YEAR(date) = '" + year_comboBox.Text + "'";
、データベース内の年の形式は、それがすべて正常に動作し、等々2010年、2011年、2012年ですので。しかし、数ヶ月になると、1月、2月、3月などのように私のコンボボックスに入っていて、データベースの形式は01,02,03などです。したがって、別の種類のクエリが必要になるか、私は1月、2月と他の月の文字列を01,02などに変換することができるようにコードを書くことができます。これはコード効率が良くありません。
私の月の文字列を変換せずに入力しなくてもこの作業を行うことができる単純なタイプのクエリはありますか?
SQLインジェクションに注意してください。http://xkcd.com/327/ – albertjan
SQLインジェクションを防ぐために、パラメータ化されたクエリを使用する必要があります。C#でこれを行う方法の例を次に示します。http://www.dotnetperls.com/sqlparameter あなたが持っているものが問題である理由の例として、 ''; drop table table; - '年のボックスと大混乱。 –