对 Access 数据库中日期字段操作时 OleDbParameter 的问题及解决

时间:2022-06-16 21:23:02

比如 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