【发布时间】:2017-11-22 11:11:08
【问题描述】:
我想将加入三个月的员工记录拉回公司,我使用的是accdb数据库,编码是asp.net c#,我总是卡在检索记录的日期和日期。
public void DisplayProbationList()
{
DateTime today = DateTime.Today;
DateTime Threemonthago = DateTime.Now.AddMonths(-3);
string connectionString = GetConnectionString();
OleDbConnection connection = new OleDbConnection();
connection.ConnectionString = connectionString;
connection.Open();
OleDbCommand command = connection.CreateCommand();
//string sql = "SELECT * FROM HolidaysList";
//command.CommandText = sql;
OleDbCommand Command = new OleDbCommand("SELECT * FROM EmployeeDetails where Datejoining Between '"+ Threemonthago+"' AND '"+Today+"' ", connection);
OleDbDataAdapter OleDbDataAdapter = new OleDbDataAdapter(Command);
DataSet ds = new DataSet();
OleDbDataAdapter.Fill(ds);
Probation.DataSource = ds;
Probation.DataBind();
}
【问题讨论】:
-
你能展示一下你尝试过的东西吗,例如您使用的 SQL 代码?或者您用于访问数据库的 C# 代码,如果我们有一些需要纠正/帮助的地方,将会有所帮助。
-
我已经上传了我的代码。
-
这段代码遇到了什么问题?你可以做
joiningDate >= ThreeMonthsAgoDate -
根据@ChetanRanpariya 的评论,您的 sql 可能如下所示:
"SELECT * FROM EmployeeDetails where date(Datejoining) >= '" + Threemonthago.ToString("yyyy-MM-dd") + "'"。我添加了“ToString()”和“date()”来删除时间组件(在大多数情况下它应该无关紧要)。 -
我也收到一个错误,因为标准表达式中的数据类型不匹配错误
标签: c# asp.net .net ms-access c#-4.0