最近在写一个东西时,遇到了如下问题:
if (dtStart != dtEnd || (dtEnd ==dtStart && dtStart.ToShortDateString () !=DateTime .Now .ToShortDateString ()))
{
sbWhere.Append(" and superviseInfo.superviseDate between ‘");
sbWhere.Append(dtStart.ToShortDateString());
sbWhere.Append("’ and‘“);
sbWhere.Append(dtEnd.ToShortDateString());
sbWhere.Append("’");
}
结果在执行时,提示“标准表达式中数据类型不匹配”问题。
我用的后台数据库是ACCESS,这在SQL SERVER中是不会出现的。
解决办法:
把上面的语句换成:
if (dtStart != dtEnd || (dtEnd ==dtStart && dtStart.ToShortDateString () !=DateTime .Now .ToShortDateString ()))
{
sbWhere.Append(" and superviseInfo.superviseDate between #");
sbWhere.Append(dtStart.ToShortDateString());
sbWhere.Append("# and #");
sbWhere.Append(dtEnd.ToShortDateString());
sbWhere.Append("#");
}
即可。
解决ACCESS数据库中日期比较逻辑错误问题
在使用ACCESS数据库时遇到日期比较逻辑错误,通过调整SQL表达式解决了标准表达式中数据类型不匹配的问题。具体解决方法是将原有的between关键字替换为#符号,确保日期字符串在SQL查询中的正确解析。
8802

被折叠的 条评论
为什么被折叠?



