0

就将行添加到 DataTable 的编码速度而言,最快的方法是什么?我不需要知道列名和数据类型。是否可以在没有预先指定 dataTable 列的数量或名称的情况下添加行?

        DataTable t = new DataTable();
        t.Rows.Add(value1,
            value1,
            value2,
            value3,
            ...
            valueN
            );
        DataSet ds = new DataSet();
        ds.Tables.Add(t);
4

3 回答 3

1

要回答您的第一个问题:不,您必须在表上定义列。您不能只说“嘿,为所有这些值创建一个列”。不过,正如 Schmelter 先生所说,没有什么能阻止您即时创建列。

于 2012-11-15T15:48:04.583 回答
1

如果输入来自集合,您可以循环它以创建DataColumns具有正确类型的:

var data = new Object[] { "A", 1, 'B', 2.3 };
DataTable t = new DataTable();
// create all DataColumns
for (int i = 0; i < data.Length; i++)
{
    t.Columns.Add(new DataColumn("Column " + i, data[i].GetType()));
}
// add the row to the table
t.Rows.Add(data);
于 2012-11-15T15:48:46.703 回答
0

在不知道行或列的情况下(您首先需要添加列,否则不可能)

 for(int intCount = 0;intCount < dt.Rows.Count; intCount++)
 {
  for(int intSubCount = 0; intSubCount < dt.Columns.Count; intSubCount++)
   {
         dt.Rows[intCount][intSubCount] = yourValue; // or assign to something
   }
 }
于 2012-11-15T15:46:59.240 回答