2013-03-27 65 views
0

我有一个问题: 我正在用数据库连接(acces数据库)制作日历应用程序。 有了这个应用程序,人们可以添加约会,并可以查看约会,如果他们按日期(例如3月24日)。 但现在显示了数据库的所有信息,这不是我想要的。 我想显示用户点击的按钮(日期)的约会,而不是数据库的所有oppaintments。如何在datagridview中显示特定日期的约会?(C#)

private void button2_Click(object sender, EventArgs e) 
     { 
      string selectie = " SELECT * FROM Appointment Order by AppointmentDate "; 
      OleDbConnection calendarconn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;data source=C:\Users\derek\Dropbox\C#_Project_Calender\Versie 1.0\Kalenderdb.accdb"); 
      if (calendarconn != null) 
      { 
       Debug.WriteLine("calendarconn is not null: " + calendarconn); 
       calendarconn.Open(); 
       OleDbCommand cmd = new OleDbCommand(selectie, calendarconn); 
       OleDbDataReader reader = cmd.ExecuteReader(); 


       DataTable dt = new DataTable(); 

       dt.Load(reader); 

       // achter je grid 
       this.dataGridView1.DataSourc 

回答

0

修改你的SELECT语句也过滤:

"SELECT * FROM Appointment WHERE AppointmentDate = @AppointmentDate"

参数然后添加到您的OleDbCommand对象:

cmd.Parameters.AddWithValue("@AppointmentDate", DateTime.Today);

0

首先,你可以使用“的ValueChanged “日期时间选择器的事件。
当用户从日历中选择日期时。然后这个事件将被解雇。

你这里写的代码,更新语句如下:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e) 
{ 
    string selectie = " SELECT * FROM Appointment where AppointmentDate like '"+dateTimePicker1.Value.ToShortDateString()+"' Order by AppointmentDate "; 
} 

您还可以更改如下日期的格式。

dateTimePicker1.Value.ToString("yyyyMMdd"); 

2013年3月27日将被显示为20130327个

+0

日Thnx家伙我会尝试 – user2215242 2013-03-27 12:13:46

相关问题