我有一个 C# 数据集,由三个表组成,仅包含列,我试图通过添加行来填充这些表。 这是我的第一张桌子(
destinationTable
)
我尝试添加行的两列是主键,不能为空。但是,当我尝试添加到它们时,我在第一列或第二列上收到此控制台错误:
错误:列“CONFIG_NAME”不允许为空。
这是我的代码:
var newRow = destinationTable.NewRow();
newRow["APP_CODE"] = mAppCode;
destinationTable.Rows.Add(newRow);
var newRow2 = destinationTable.NewRow();
newRow2["CONFIG_NAME"] = "pippo";
destinationTable.Rows.Add(newRow2);
如果我尝试添加到任何其他现有列,也会发生同样的情况。同样的错误。 有什么建议么?谢谢。
我尝试了同事的不同建议,但似乎不可能填充。我尝试创建一个临时的空数据集并在其中添加这些列,然后将所有内容复制到此数据集,但我得到了相同的错误。
正如 @SoftwareDeveloper 在他的评论中提到的,您应该初始化所有列值一次,然后将行添加到所需的表中。您在评论中遇到的错误是由于您尝试将新行添加到不同的数据表而引起的:
var newRow = **destinationTable**.NewRow();
newRow["APP_CODE"] = mAppCode;
newRow["CONFIG_NAME"] = "pippo";
**sourceTable**.Rows.Add(newRow);
使用 Rows.Add() 时,您必须将新行添加到用于 NewRow() 的同一个 DataTable 中。