我正在尝试将日期时间值插入数据表,然后使用 oledbdataadapter 的 update(datatable) 方法将其加载到我的数据库中。但我不断收到“标准表达式中的数据类型不匹配”。错误。我的访问表中的数据类型是:
ID Number
Nombre_Proyecto Text
Codigo_Ine_Proy Text
Cliente text
Fecha_Creacion Datetime (short date)
根据访问短日期是 mm/dd/yyy,这符合我的 datetime/toshortdatestring 方法吗?至少我是这么认为的。
任何帮助,将不胜感激。这是我的代码:
将 OledbCommand 插入数据适配器:
sql = "PARAMETERS [@Fecha_Creacion] datetime;INSERT Into [Proyectos] ([ID], [Nombre_Proyecto],[Codigo_Ine_Proy],[Cliente],[Fecha_Creacion]) Values (@ID,@Nombre_Proyecto,@Codigo_Ine_Proy,@Cliente,@Fecha_Creacion)";
Comando = new OleDbCommand(sql, conn);
Comando.Parameters.Add("@Nombre_Proyecto", OleDbType.VarWChar, 500, "Nombre_Proyecto");
Comando.Parameters.Add("@Codigo_Ine_Proy", OleDbType.VarWChar, 500, "Codigo_Ine_Proy");
Comando.Parameters.Add("@Cliente", OleDbType.VarWChar, 500, "Cliente");
Comando.Parameters.Add("@Fecha_Creacion", DbType.DateTime);
Comando.Parameters.Add("@ID", OleDbType.Integer, 10000, "ID");
我在数据表上创建数据行的部分:
DataRow newRow = Tabla_Proyectos_BD_General.NewRow();
Max_IDs["Proyectos"] += 1;
newRow["ID"] = Max_IDs["Proyectos"];
newRow["Nombre_Proyecto"] = textBox2.Text;
newRow["Codigo_Ine_Proy"] = textBox1.Text;
newRow["Cliente"] = textBox3.Text;
string x = System.DateTime.Now.ToShortDateString();
newRow["Fecha_Creacion"] = x;
Tabla_Proyectos_BD_General.Rows.Add(newRow);