使用OleDbParameter在Access中插入日期/时间值

rob*_*ert 5 c# oledb parameters ms-access

我正在尝试在oledb(ms访问数据库)中插入一个名为objectdate的字段是日期/时间

我用来添加参数的代码就是这个,但是我收到了错误.

  OleDbParameter objectdate = new OleDbParameter("@objectdate", OleDbType.DBDate);
  objectdate.Value = DateTime.Now; cmd.Parameters.Add(objectdate);
Run Code Online (Sandbox Code Playgroud)

错误:

条件表达式中的数据类型不匹配.

sca*_*tag 0

你可以用。

   OleDbParameter objectdate = new OleDbParameter("@objectdate", DbType.DateTime);
   objectdate.Value = DateTime.Now; cmd.Parameters.Add(objectdate);
Run Code Online (Sandbox Code Playgroud)

或使用 Ole Automation 版本的日期。

OleDbParameter objectdate = new OleDbParameter("@objectdate", DbType.DateTime);
       objectdate.Value = DateTime.Now.ToOADate(); cmd.Parameters.Add(objectdate);
Run Code Online (Sandbox Code Playgroud)

或者您可以输入日期时间作为文字,因为 Datetime.ToString() 删除了访问无法使用的毫秒。

cmd.Parameters.AddWithValue("@objectdate", DateTime.Now.ToString());
Run Code Online (Sandbox Code Playgroud)

这应该有效。