1

私は C# .net の初心者です。私の質問は、C# でプログラムを作成することです。このプログラムは、月のカレンダーから選択された各日付の小さなデータベースから結果を表示します。たとえば、私が選択する25/5/2013と、john smith とのリッチテキスト ボックスの予定に表示されます。

私は日付を取得します

this.richTextBox1.Text = monthCalendar1.SelectionRange.Start.Date.ToShortDateString();

しかし、必要な行を表示しようとすると、プログラムがクラッシュします。このコードを使用してデータグリッドに表示しました

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=event_agenda;Integrated Security=True");
DataTable dt = new DataTable();
SqlDataAdapter SDA = new SqlDataAdapter("Select * from event where date_event =" + monthCalendar1.SelectionRange.Start.Date.ToShortDateString(), conn);
SDA.Fill(dt);

dataGridView1.DataSource = dt;

何も表示されません

しかし、これで問題なくデータベース内のすべての行が表示されます

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=event_agenda;Integrated Security=True");
DataTable dt = new DataTable();
SqlDataAdapter SDA = new SqlDataAdapter("Select * from event", conn);
SDA.Fill(dt);

dataGridView1.DataSource = dt;

私のデータベースには、テーブル イベントと 2 つの列date_event( varchar(9)) とnotes( varchar(150))があります。

私の間違いはどこですか?誰かが私を助けてくれれば幸いです

4

2 に答える 2

0

テーブルの列を に変更することをお勧めしますdate。次に、コードで、次のように日付をフォーマットできます。

var d = monthCalendar1.SelectionRange.Start.Date;
var formattedDate = d.ToString("yyyyMMdd");

クエリは次のようになります。

SqlDataAdapter SDA = 
    new SqlDataAdapter("Select * from event where date_event ='" + formattedDate + "'", conn);
于 2013-05-25T10:01:12.673 に答える