如何在datagridview中显示特定日期的约会。?(C#)

时间:2013-03-27 11:14:53

标签: c# datagridview

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

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

2 个答案:

答案 0 :(得分:0)

将您的select语句改为也过滤:

"SELECT * FROM Appointment WHERE AppointmentDate = @AppointmentDate"

然后向OleDbCommand对象添加一个参数:

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

答案 1 :(得分: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