更新:2011 年 5 月
大多数使用数据的应用程序需要访问满足某种条件的特定记录。 为了找到数据集中的特定行,可调用 DataRowCollection 对象的 Find 方法。 如果存在主键,将返回 DataRow 对象。 如果找不到主键,则返回空值。
查找具有主键值的行
在类型化的数据集中查找具有主键值的行
- 调用使用表的主键来定位行的强类型 FindBy 方法。 - 在下面的示例中,CustomerID 列是 Customers 表的主键,因此生成的 FindBy 方法为 FindByCustomerID。 此示例演示如何使用生成的 FindBy 方法将特定的 DataRow 赋给变量。 - Dim customersRow As NorthwindDataSet.CustomersRow customersRow = NorthwindDataSet1.Customers.FindByCustomerID("ALFKI")- NorthwindDataSet.CustomersRow customersRow = northwindDataSet1.Customers.FindByCustomerID("ALFKI");
在非类型化的数据集中查找具有主键值的行
- 调用 DataRowCollection 集合的 Find 方法,同时将主键作为参数传递给它。 - 下面的示例演示如何声明新行(名为 foundRow)并将 Find 方法的返回值分配给它。 如果找到主键,消息框中将显示列索引 1 的内容。 - Dim s As String = "primaryKeyValue" Dim foundRow As DataRow = DataSet1.Tables("AnyTable").Rows.Find(s) If foundRow IsNot Nothing Then MsgBox(foundRow(1).ToString()) Else MsgBox("A row with the primary key of " & s & " could not be found") End If- string s = "primaryKeyValue"; DataRow foundRow = dataSet1.Tables["AnyTable"].Rows.Find(s); if (foundRow != null) { MessageBox.Show(foundRow[1].ToString()); } else { MessageBox.Show("A row with the primary key of " + s + " could not be found"); }
通过列值查找行
基于任意列中的值查找行
- 使用 Select 方法创建数据表,Select 方法基于传递给它的表达式返回 DataRow 数组。 有关创建有效表达式的更多信息,请参见关于 Expression 属性的页的“表达式语法”部分。 - 下面的示例演示如何使用 DataTable 的 Select 方法来定位特定行。 - Dim foundRows() As Data.DataRow foundRows = DataSet1.Tables("Customers").Select("CompanyName Like 'A%'")- DataRow[] foundRows; foundRows = dataSet1.Tables["Customers"].Select("CompanyName Like 'A%'");
请参见
参考
概念
其他资源
修订记录
| 日期 | 修订记录 | 原因 | 
|---|---|---|
| 2011 年 5 月 | 更新了更正代码缺陷的 C# 示例。 | 客户反馈 |