5

我是初学者,所以不要被我的问题逗乐。我认为 if (ds.Tables[0].Rows.Count > 0)用于检查数据集是否为空。但在这种情况下究竟[0]意味着什么?你能更详细地解释一下这个说法吗?还有这个。。ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());

4

5 回答 5

9

它使您可以访问DataSet. ADataSet拥有一个 的数组DataTables,它可以有 0、1 或许多这样的DataTables。您可以像访问任何其他数组一样访问它们——通过对它们进行索引。

如果这里有 2 个DataTablesDataSet您可以使用 访问第一个,使用 访问ds.Tables[0]第二个ds.Tables[1]

ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());语句将新行添加DataTableDataSet. 通过调用ds.Tables[0].NewRow(),您将创建一个DataTable与数组中的第一行相关联的新行。

于 2012-12-24T15:26:33.387 回答
5

dsDataSet的一个实例。一个 DataSet 可能包含多个Table实例。

ds.Tables[0] 正在访问Tables集合中的第一个表。并且ds.Tables[0].Rows.Count正在计算第一张桌子上的行数。

Rows 访问 DataRow 集合。Add 方法再创建一行;但是,您需要将 DataRow 的实例作为参数传递。此 DataRow 对象必须具有与表相同的结构(列),因此,您使用相同的表来创建新的 DataRoq:ds.Tables[0].NewRow()

于 2012-12-24T15:27:23.100 回答
2
ds >>>>>>>>>>> Object of DataSet class from System.Data namespace
Tables[0] >>>> DataTable class object at index 0 inside ds object
Rows >>>>>>>>> RowCollection object which contain all the rows
Count >>>>>>>> Used to count no of rows inside the collection.
于 2012-12-24T15:37:57.017 回答
1

数据集中可以有多个表,通过使用 ds.Tables[0] 您正在获取第一个表。

于 2012-12-24T15:27:12.557 回答
0

以上所有解释都是正确的。

但这是我的 2 美分

ds.Tables[0].Rows.Count

在使用上述语句之前,最好检查以下条件

if (ds !=null && ds.Tables.count>0 )  
于 2013-01-01T03:50:56.167 回答