我试图插入一条记录到MS Access表使用此代码:为什么我通过这段代码得到“标准表达式中的数据类型不匹配”?
public void InsertIntoPPTData(string tx, string site_no, string xmlfile, DateTime collect_dttm, string ppt_user, string tx_memo, string file_beg, string file_end)
{
string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Duckbilled;Password=Platypus;Data Source=C:\RGT\NotSoBigData.MDB;Jet OLEDB:System database=C:\CCRWin\Data\jftfdcsc.mdw";
using (var conn = new OleDbConnection(connStr))
{
using (var cmd = conn.CreateCommand())
{
cmd.CommandText =
@"INSERT INTO tx_tillermantea (tx, site_no, xmlfile, collect_dttm, ppt_user, tx_memo, file_beg, file_end)
VALUES(@txval, @siteNum, @xmlfileName, @DTNow, @PPTUser, @TXMemo, @strfile_beg, @strfile_end)";
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@txval", tx);
cmd.Parameters.AddWithValue("@siteNum", site_no);
cmd.Parameters.AddWithValue("@xmlfileName", xmlfile);
cmd.Parameters.AddWithValue("@DTNow", collect_dttm);
cmd.Parameters.AddWithValue("@PPTUser", ppt_user);
cmd.Parameters.AddWithValue("@TXMemo", tx_memo);
cmd.Parameters.AddWithValue("@strfile_beg", file_beg);
cmd.Parameters.AddWithValue("@strfile_end", file_end);
conn.Open();
cmd.ExecuteNonQuery();
}
}
}
...但 “cmd.ExecuteNonQuery();”线路爆炸:
System.Data.OleDb.OleDbException被用户代码未处理 消息=标准表达式中的数据类型不匹配。 源= Microsoft Office Access数据库引擎 堆栈跟踪: 在System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling在System.Data(OleDbHResult小时) 在System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams,对象&的ExecuteReuslt) .OleDb.OleDbCommand.ExecuteCommandText(对象&的ExecuteReuslt) 在System.Data.OleDb.OleDbCommand.ExecuteCommand(的CommandBehavior行为,对象&的ExecuteReuslt) 在System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(的CommandBehavior行为,字符串方法) 在System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
个我的猜测是,这个问题是孤独的日期时间值,但什么是错的:
cmd.Parameters.AddWithValue("@DTNow", collect_dttm);
?
我通过“DateTime.Now”作为collect_dttm arg。
访问中“DTNow”字体的类型是什么? –
检查这个答案http://stackoverflow.com/questions/16217464/inserting-dates-in-an-ms-access-database-again/16218074#16218074 – Steve
你能分享tx_tillermantea表定义吗? –