我有一个问题: 我正在制作一个带有数据库连接的日历应用程序(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
答案 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