C#使用OleDB操作ACCESS插入数据时提示:标准表达式中数据类型不匹配。
OleDbParameter param = new OleDbParameter("" + dc.ColumnName, dc.DataType);param.IsNullable = dc.AllowDBNull;if (dr_src.Table.Columns.Contains(dc.ColumnName)){if (!(dr_src[dc.ColumnName] is System.DBNull)){if (dc.DataType.FullName.Equals("System.DateTime")){param.Value = dr_src[dc.ColumnName].ToString();}else{param.Value = dr_src[dc.ColumnName];}}else{param.Value = dc.DefaultValue;if (dc.DataType.FullName.Equals("System.Decimal")){param.Value = System.Decimal.Zero;}if (dc.DataType.FullName.Equals("System.String")){param.Value = String.Empty;}}}else{param.Value = dc.DefaultValue;}
导致该问题的罪魁祸首为 System.DateTime 类型的字段
if (dc.DataType.FullName.Equals("System.DateTime")){param.Value = dr_src[dc.ColumnName].ToString();}
在线该类型的Parameter赋值时,不能传递 System.DateTime 类型,而是需要传递 String 类型。
如果觉得《C#使用OleDB操作ACCESS插入数据时提示:标准表达式中数据类型不匹配。》对你有帮助,请点赞、收藏,并留下你的观点哦!