C# 不进行比较的数据字符串

C# 不进行比较的数据字符串,c#,C#,我试图将c#中的日期字符串与Access DB 2010中的日期字符串进行比较。不知何故,我的疑问没有通过,我也不知道我错在哪里。代码如下: string dateNow = DateTime.Now.ToString("dd/MM/yyyy"); string dbcommand = "SELECT log.logID, log.datetime, log.startfloor, log.destination, log.status FROM log WHERE (((log.dateti

我试图将c#中的日期字符串与Access DB 2010中的日期字符串进行比较。不知何故,我的疑问没有通过,我也不知道我错在哪里。代码如下:

string dateNow = DateTime.Now.ToString("dd/MM/yyyy");

string dbcommand = "SELECT log.logID, log.datetime, log.startfloor, log.destination, log.status FROM log WHERE (((log.datetime) Like '" + dateNow + "'));";
1  25/11/2013 10:18:11
2  25/11/2013 12:15:22
3  09/12/2013 09:12:46
数据库中的记录如下所示:

string dateNow = DateTime.Now.ToString("dd/MM/yyyy");

string dbcommand = "SELECT log.logID, log.datetime, log.startfloor, log.destination, log.status FROM log WHERE (((log.datetime) Like '" + dateNow + "'));";
1  25/11/2013 10:18:11
2  25/11/2013 12:15:22
3  09/12/2013 09:12:46
试试这个

string dateNow=DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss")
由于数据库中的行包含上述格式,您需要同时比较h、m和s,然后将其设置为

string dateNow = DateTime.Now.ToString("dd/MM/yyyy");

string dbcommand = "SELECT log.logID, log.datetime, log.startfloor, log.destination, log.status FROM log WHERE format(log.datetime,'dd/MM/yyyy') = '" + dateNow + "'";
where log.datetime between '2013/11/25 00:00:00' and '2013/11/25 23:59:59' 


你自己看看

我只是想假设你真的把它发送到了数据库?是否要共享该部分?日志的数据类型是什么。日期时间?使用占位符。这将酌情考虑数据转换(并且
datetime
应为适当的datetime/DATETIMEOFFSET类型)。而且,我真的怀疑<代码>类似的用法是错误的(对于数据类型的不正确使用,也没有使用<代码> %>代码>)——而是考虑将日期与适当的范围和/或精确查询进行比较。如果代码以日期开始(包括占位符的使用),而不是字符串,那么前面的任务就很容易了。