C # When you use OLE DB to manipulate access to insert data: Data types do not match in standard expressions.
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;}
The culprit that caused the problem is a field of type System.DateTime
if (dc.DataType.FullName.Equals("System.DateTime")) { param.Value = dr_src[dc.ColumnName].ToString(); }
When the parameter assignment of this type is online, the System.DateTime type cannot be passed, but the String type needs to be passed.
C # When you use OLE DB to manipulate access to insert data: Data types do not match in standard expressions.