如何使用日期时间选择器从ms access数据库检索数据
本文关键字:access 数据库 检索 数据 ms 何使用 日期 时间 选择器 | 更新日期: 2023-09-27 18:13:41
我正在c#中创建一个应用程序,其中我使用日期时间选择器控件。我在MS Access中创建了一个数据库,其中包含一个具有Date_Entry, Emp_No, Emp_Name, In_Time, Out_Time
列的表。
现在我想在文本框中检索这些数据通过点击日期时间选择器控件上的日期。此日期为数据库Date_Entry
字段中的日期,并根据该日期获取数据。
怎么做?
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
try
{
OleDbConnection conn = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0,DataSource=C:''Users''jd''Desktop''Attendance.mdb");
OleDbCommand cmd = new OleDbCommand("SELECT * FROM Attendance_Details WHERE Date_Entry=" + dateTimePicker1.Value + "", conn);
cmd.CommandType = CommandType.Text;
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "Attendance_Details");
txtDate.Text = ds.Tables[0].Rows[0][0].ToString();
txtEmpNo.Text = ds.Tables[0].Rows[0][1].ToString();
txtEmpName.Text = ds.Tables[0].Rows[0][2].ToString();
txtInTime.Text = ds.Tables[0].Rows[0][3].ToString();
txtOutTime.Text = ds.Tables[0].Rows[0][4].ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
以上代码存在一些问题。我改进了它。现在它可以工作了
下面应该是代码:
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
try
{
OleDbConnection conn = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0,DataSource=C:''Users''jd''Desktop''Attendance.mdb");
con.open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM Attendance_Details WHERE Date_Entry=@dtpDate", conn);
cmd.Parameters.Addwithvalue("@dtpDate", dateTimePicker1.Value);
cmd.CommandType = CommandType.Text;
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
txtDate.Text = ds.Tables[0].Rows[0][0].ToString();
txtEmpNo.Text = ds.Tables[0].Rows[0][1].ToString();
txtEmpName.Text = ds.Tables[0].Rows[0][2].ToString();
txtInTime.Text = ds.Tables[0].Rows[0][3].ToString();
txtOutTime.Text = ds.Tables[0].Rows[0][4].ToString();
con.close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
con.close();
}
}
}
回答您关于"Error 1 "的问题。OleDbParameterCollection'不包含'Addwithvalue'的定义,也没有扩展方法'Addwithvalue'接受类型为'System.Data.OleDb.OleDbParameterCollection'的第一个参数"
…你谷歌过吗?https://www.google.nl/search?q=Addwithvalue它会告诉你哪里出了问题。
关于选择日期:读这个。这可能很棘手。请确保使用正确的语法。