C#执行sql语句抛出“标准表达式中数据类型不匹配”

来源:互联网 发布:普华在线网络课程 编辑:程序博客网 时间:2024/05/21 10:59

C#执行sql语句抛出“标准表达式中数据类型不匹配”,原因就是sql语言中的值跟数据库中的类型匹配不上

举个例子如下:

DateTime mysqldt = Convert.ToDateTime("1970-9-10 9:30");


string sqlstr = string.Format("select * from t_user where arriveTime > ‘{0}’", mysqldt);


数据库为access 2003  数据库中arriveTime 类型为时间/日期

 

C#执行mysql的时候,以上的语句没有问题。

 

但是改为access的时候,因为access数据库的原因

 

执行 sqlstr 后抛出  "标准表达式中数据类型不匹配"问题。

 

解决办法是把‘{0}’ 要变为 #{0}#,这样子可以匹配access数据库的“时间/日期”类型。

 

还有关于sql语句问题,最好在VS2010或者数据库中先执行通过后再编译,这样子避免不必要的麻烦和错误。

 

 

 


 

原创粉丝点击