【发布时间】:2013-04-19 12:11:14
【问题描述】:
如果我尝试用简单的方法将日期时间写入 MS-Access 数据库中的记录,就像这样
cmd.CommandText = "INSERT INTO [table] ([date]) VALUES (?)";
cmd.Parameters.AddWithValue("?", DateTime.Now);
我收到一个异常提示“条件表达式中的数据类型不匹配”。
谁能告诉我为什么?这里出了什么问题?
经过一点实验,我发现如果我写的话我可以让它工作
OleDbParameter parm = new OleDbParameter("?", OleDbType.Date);
parm.Value = DateTime.Now;
cmd.Parameters.Add(parm);
但这样做似乎不那么整洁,不那么直接。为什么这是必要的?我忽略了一些简单的事情吗?
【问题讨论】:
-
date可能是这里的关键字。试试INSERT INTO table ([date]) VALUES (?) -
@LarsTech 当然,它是一个关键字是对的。我更新了问题中的代码。但这不是问题的原因。