向ACCESS中的"时间/日期"字段中插入DateTime.Now时出现“标准表达式中数据类型不匹配。”错误的解决办法
2009-01-22 20:54
1136 查看
在使用下面的代码向Access数据库中添加数据的时候,如果是日期字段,则会出现“标准表达式中数据类型不匹配。”的错误,这可能是C#中的日期类型无法直接转换成Access中的日期类型OleDbType.DBDate所致:
解决办法就是将上面语句中的 cmd.Parameters.AddWithValue("@CreateDate", DateTime.Now); 转换成下面的语句即可:
string ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|/MengXianHui.mdb;Persist Security Info=True"; string QueryString = "Insert Into [Document] (Title, Content, Author, CreateDate) Values(@Title, @Content, @Author, @CreateDate)"; OleDbConnection cn = new OleDbConnection(ConnectionString); cn.Open(); OleDbCommand cmd = new OleDbCommand(QueryString, cn); cmd.Parameters.AddWithValue("@Title", Title); cmd.Parameters.AddWithValue("@Content", Content); cmd.Parameters.AddWithValue("@Author", Author); cmd.Parameters.AddWithValue("@CreateDate", DateTime.Now); cmd.ExecuteNonQuery(); cn.Close(); cn.Dispose();
解决办法就是将上面语句中的 cmd.Parameters.AddWithValue("@CreateDate", DateTime.Now); 转换成下面的语句即可:
OleDbParameter parameter = new OleDbParameter(); parameter.OleDbType = OleDbType.DBDate; parameter.Value = DateTime.Now; cmd.Parameters.Add(parameter);
相关文章推荐
- 向ACCESS中的"时间/日期"字段中插入DateTime.Now时出现“标准表达式中数据类型不匹配。”错误的解决办法
- 开发Access数据库提示的"标准表达式中数据类型不匹配",DateTime类型解决办法
- ACCESS中的"时间/日期"字段中插入DateTime.Now出错
- 向Access插入数据时提示“标准表达式中数据类型不匹配”的解决方法
- c# OleDb操作Access时间类型:操作符丢失,或者提示错误“标准表达式中数据类型不匹配
- c# OleDb操作Access时间类型:操作符丢失,或者提示错误“标准表达式中数据类型不匹配
- c# OleDb操作Access时间类型:操作符丢失,或者提示错误“标准表达式中数据类型不匹配
- DELPHI7开发Access数据库提示的"标准表达式中数据类型不匹配"
- Access 执行查询时,抛出“标准表达式中数据类型不匹配”的错误
- "向程序发送命令时出现错误 "解决办法
- hibernate中实体类构造方法中含有Timestamp 类型变量的"no appropriate constructor.." 错误提示的解决办法
- C#使用OleDB操作ACCESS插入数据时提示:标准表达式中数据类型不匹配。
- c#连接access 数据库 出现标准表达式中数据类型不匹配
- sql server 2008 删除数据库出现"因为它正用于复制"的错误解决办法
- Access 执行查询时,抛出“标准表达式中数据类型不匹配”的错误
- 关于vs2012+caffe配置中出现的"常量中的字符太多"错误的解决办法
- C# OLEDB 读取 Excel 记录出现"标准表达式的类型不匹配"
- access中sql语句执行错误 “标准表达式中数据类型不匹配”
- 标准表达式中数据类型不匹配(Access 时间格式)
- .net程序中出现“标准表达式中数据类型不匹配”错误