Finding a Row
The strongly typed DataSet
has a FindBy( )
method to locate a row in a DataTable
based on the primary key. The method accepts one argument for each of
the columns that make up the primary key. The method has named
arguments, making it easier to work with than similar untyped
DataSet
code. Additionally, the arguments are
typed, allowing mismatch errors to be caught at compilation time
rather than at runtime. The following example demonstrates using the
strongly typed DataSet
FindBy( )
method and also shows comparable code using an untyped
DataSet
.
// strongly typed DataSet called Northwind containing the Orders table Northwind.Order_DetailsDataTable table = new Northwind.Order_DetailsDataTable(); // ... code to add new rows to, or Fill the Orders table // locate the row based on its primary key value Northwind.Order_DetailsRow orderDetailsRow = table.FindByOrderIDProductID(10248, 11); if(orderDetailsRow != null) { // ... code to process the row }
This example shows comparable code using an untyped
DataSet
:
// untyped DataSet containing the Orders table DataSet ds = new DataSet("Northwind"); DataTable ordersTable = ds.Tables.Add("Orders"); // ... code to define or retrieve the schema for the DataTable // ... code to add new rows to, or Fill the Orders table // locate the row based on its primary key value DataRow orderDetailsRow = ordersTable.Find(new Object[] {10248, 11}); if(orderDetailsRow != null) { // ... code to process the row }
Get ADO.NET in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.