2012-01-04 65 views
0

我有,人行插入表中的一些C#代码,看起来像这样为什么System.Data.DataTable.ImportRow方法插入一个没有列的行?

System.Data.DataRow row; 
var table = new System.Data.DataTable(); 

// code that populates the DataRow... 
table.ImportRow(row); 

后,我打电话ImportRow功能,但它没有列。我已经在DataRow被填充后检查了它,并且它包含了它应该包含的所有列和数据,所以这不是问题。

DataTable.ImportRow方法中的documentation指出:“如果作为参数传递的DataRow处于分离状态,则会被忽略,并且不会引发异常。我检查了我试图插入的行的DataRowState,它没有分离(它没有改变),所以这也不是问题。

有没有人有任何想法,这里有什么问题?

+0

你可能需要展示如何表和行被创建。 – Ray 2012-01-04 15:12:13

回答

1

你是如何创建DataRow的?

这里重要的是模式需要在表上定义,并与行兼容。

你可以像这样创建行:

var row = table.NewRow(); 
//populate.... 
table.Rows.Add(row); 
+0

是的,就是这样。我试图将一行导入到一个新的“空白”表中。它还没有定义模式。 (我的代码样本最初是不准确的,我修改了它。) – raven 2012-01-04 16:20:09

相关问题