【发布时间】:2015-10-13 12:25:25
【问题描述】:
我正在尝试将新数据插入到使用 foxpro 创建的旧 .dbf 数据库中。 数据库有很多列,我不需要填写每一列。
连接本身有效。但是现在我得到一个例外“字段 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 值的列,并且您没有在插入查询中为它们指定值。我建议检查该表中的每一列是否存在此问题
标签: c# oledb visual-foxpro