c# - 插入到 dbf 文件不接受空值

标签 c# .net ado.net dbf

我有一个要执行查询的 dbf 文件。这是我的代码(.net 4.0,C# Windows 窗体):

oconn.ConnectionString = "Provider=vfpoledb.1;Data Source=" + path + ";Collating Sequence=machine";
oconn.Open();
OleDbCommand ocmd = oconn.CreateCommand();
string na = TBNazwaKonta.Text.Replace("\n","");
na = na.Replace("\r","") ;
string ks2 = ks.Replace("\n","");
ks2 = ks2.Replace("\r", "");
string zapytanie = @"insert into " + path + " (rk, Na,Ks,Ss,So,Wyr,Bw,Bm,Ow,Om,Wm,Mm,Pm,Pw,Ks1,Ks2,Ks3,Ks4,Llx,Wn01,Ma01,L01,Wn02,Ma02,L02,Wn03,Ma03,L03,Wn04,Ma04,L04,Wn05,Ma05,L05,Wn06,Ma06,L06,Wn07,Ma07,L07,Wn08,Ma08,L08,Wn09,Ma09,L09,Wn10,Ma10,L10,Wn11,Ma11,L11,Wn12,Ma12,L12) values (0,'Z-Dz PROD.OPAKOWAŃKIEWICZA 108   38-200 ', '200 02 000212',0,0,'',0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,'','','','',0,0.0,0.0,0,0.0,0.0,0,0.0,0.0,0,0.0,0.0,0,0.0,0.0,0,0.0,0.0,0,0.0,0.0,0,0.0,0.0,0,0.0,0.0,0,0.0,0.0,0,0.0,0.0,0,0.0,0.0,0)";
ocmd.CommandText = zapytanie;
ocmd.ExecuteNonQuery();
oconn.Close();

连接正常,插入查询也正常,但我想知道为什么这个dbf不接受空值。

我在哪里可以检查 dbf 是否接受空值?当我使用程序读取 dbfs 并执行查询时,dbf 接受 null。仅当我使用 ado.net 时才接受。 感谢您帮助解决我的问题

最佳答案

您可以创建一个新命令并在插入之前执行它。

OleDbCommand dbCmdNull = oconn.CreateCommand();
dbCmdNull.CommandText = "SET NULL OFF";
dbCmdNull.ExecuteNonQuery();

关于c# - 插入到 dbf 文件不接受空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11239942/

相关文章:

Monitor 类的 C# 多线程问题 - 可能的生命锁?

c# - 在 C# 中引用多个 Web 服务时解决类型歧义

c# - 只使用 HttpClient 围绕 RESTful API 构建 MVC 应用程序是否明智?

c# - setter 和支持字段中的 .NET 逻辑

c# - 控制按钮启用属性的复选框 - ASP.NET

oracle - Dapper & Oracle Clob 类型

c# - 在 ListView 中更改颜色线

c# - 无法在 List<anonymous> LINQ 中应用 Union

c# - 使用 Linq-to-sql 在 sql-server 中存储枚举

c# - 使用 Linq 从 DataTable.Row.ItemArray 获取单元格