当前位置:Gxlcms > 数据库问题 > C#使用OleDB操作ACCESS插入数据时提示:标准表达式中数据类型不匹配。

C#使用OleDB操作ACCESS插入数据时提示:标准表达式中数据类型不匹配。

时间:2021-07-01 10:21:17 帮助过:61人阅读

+ 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插入数据时提示:标准表达式中数据类型不匹配。

标签:system   datetime   oledb   access   string   

人气教程排行