我试图插入新的数据到用foxpro创建的旧的.dbf数据库中。 数据库有很多列,我不需要填写每一个列。c#如何正确写入.dbf(foxpro)
连接本身起作用。但现在我得到了异常“字段XY不允许空值”为我没有添加在我的插入语句中的每一个。但数据库被配置为允许空值。
我使用下面的代码:
OleDbConnection dbfcon = new OleDbConnection("Provider=VFPOLEDB.1;" +
"Data Source=" + Application.StartupPath + "\\Daten;");
dbfcon.Open();
String query = "INSERT INTO TB_KUVG (KDNR, Kuvg_id) " +
"VALUES(?,?)";
OleDbCommand cmd = new OleDbCommand(query, dbfcon);
cmd.Parameters.AddWithValue("@KDNR", 1);
cmd.Parameters.AddWithValue("@Kuvg_id", 1);
cmd.ExecuteNonQuery();
dbfcon.Close();
那我做错了吗? 使用另一种方式从c#写入.dbf会更好吗?
该消息似乎很清楚。您有一个或多个列不允许NULL值,并且您没有在插入查询中为它们指定值。我建议检查该表中每一列的这个问题 – Steve