C#向DataSet表添加行遇非空约束错误求解决
C# DataSet添加非空主键行报错解决
我在C#中创建了一个包含三张表的DataSet,目前仅完成了列定义,正尝试添加行来填充表数据。其中第一张表为destinationTable,需要添加行的两列既是主键又不允许为空。但添加行时控制台会抛出如下错误:
ERRORE: Column 'CONFIG_NAME' does not allow nulls.
我的代码如下:
var newRow = destinationTable.NewRow(); newRow["APP_CODE"] = mAppCode; destinationTable.Rows.Add(newRow); var newRow2 = destinationTable.NewRow(); newRow2["CONFIG_NAME"] = "pippo"; destinationTable.Rows.Add(newRow2);
尝试给其他现有列添加行时也会出现相同错误。我试过同事给出的多种方案,还尝试创建临时空DataSet并在其中添加列后复制到当前DataSet,但都未能解决问题。
**编辑补充:**实际问题与DataSet填充的其他环节有关,但各位用户给出的「添加行时需同时为两个非空主键列赋值」的回答在本场景下是正确的。
正确的解决方式
因为APP_CODE和CONFIG_NAME都是非空主键列,所以每添加一行时必须同时给这两个列赋值,不能只填充其中一个。修正后的代码示例:
var newRow = destinationTable.NewRow(); newRow["APP_CODE"] = mAppCode; newRow["CONFIG_NAME"] = "pippo"; // 必须同时为该非空主键列赋值 destinationTable.Rows.Add(newRow);
内容的提问来源于stack exchange,提问作者swdev
相关产品推荐
相关产品推荐

