比如 SQL 语句:
Update [table] Set [CreateDate]=@CreateDate Where ...
其参数使用:New OleDbParameter("@CreateDate", Now)
当执行 SQL 语句向 Access 数据库中更新时会报错。而相同的语句使用 SQLParameter 向 SQLServer 中更新时没问题。
换一种方法,改为:
Dim _p As New OleDbParameter("@CreateDate", OleDbType.Date)
_p.Value = Now
这样就没问题了。或者用:
New OleDbParameter("@CreateDate", Now.ToString)
也不会出错。
看来直接使用日期型变量在向 Access 数据库中的日期字段写入时转换出错,不知是不是 .Net 的 Bug