如何在Access中参数化日期类型,以解决Data type mismatch in criteria expression的问题

最近的一个项目要使用Access,用惯了SQLServer,一下子回到Access真是有点不太习惯。在使用Access插入日期数据时,总报Data type mismatch in criteria expression错误,虽然我使用了参数化方式传值,可是问题还无法得到解决。

经测试,下面两种方法可以解决这个问题。

方法一:

使用参数化方法时只要使用DateTime.Now.ToString(),把日期类型转换为String类型,就可以了。看来Access还是比较傻的。

方法二:

使用普通的拼SQL方法时,要把‘换成#。因为Access把#视为日期标识符。例如

string sql = "insert into table ([Time]) values(#2009-01-01#)".

最后要再说一句,如果insert语句的列中关键字的话,Access会报insert失败,最好的解决方法是把列名用[]括起来。

如需转载,请注明本文原创自CSDN TJVictor专栏:http://blog.csdn.net/tjvictor

加支付宝好友偷能量挖...


评论(0)网络
阅读(118)喜欢(0)SQL及数据库