如何检查当前日期与数据表中的日期?
我想检查今天的日期是否等于访问数据表中的日期,但它表示您不能将字符串转换为“system .data。data table”我该怎么办?如何检查当前日期与数据表中的日期?
public void ToDay()
{
DateTime dateTime = DateTime.UtcNow.Date;
string d = (string)Session["gouser"];
DataTable t;
t="SELECT * FROM [ToDoList] where [UserID]='"
+ d + "' AND [D]='"
+ **dateTime.Date** + "'");
}
如果你总是会使用当前的日期,你可以使用访问日期()函数而不是填充一个变量,并传递进去。
public void ToDay() {
string d = (string)Session["gouser"];
var query = "
SELECT * FROM [ToDoList]
WHERE [UserID]='" + d + "'
AND [D]= Date();";
DataTable t = query.CopyToDataTable();
}
你意识到仍然不会编译...你试图给一个'DataTable'对象赋一个字符串 –
@Rufus,现在好点? –
可以使用GETDATE()sql函数:
public void ToDay()
{
string d = (string)Session["gouser"];
DataTable t;
t="SELECT * FROM [ToDoList] where [UserID]='"
+ d + "' AND [D]= GETDATE()";
}
这是Access,而不是SQL Server,同样,GetDate()返回的日期和时间将不匹配仅日期字段 –
字符串不是DataTable。你需要打开一个连接来访问,创建一个适配器,然后用你的sql命令填充一个数据表。这太宽泛无法解释所需的细节。请在ADO.NET上搜索教程 – Steve
您已将t声明为DataTable。然后你正在给它分配一个字符串。 Google如何使用数据读取器。 – Matt