Csharp/C Sharp/Database ADO.net/DataRowView
The use of the Find() and FindRows() methods of a DataView to find DataRowView objects
<source lang="csharp"> using System; using System.Data; using System.Data.SqlClient; class FindingDataRowViews {
public static void Main() { SqlConnection mySqlConnection =new SqlConnection("server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;"); SqlCommand mySqlCommand = mySqlConnection.CreateCommand(); mySqlCommand.rumandText = "SELECT ID, FirstName, LastName " + "FROM Employee"; SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter(); mySqlDataAdapter.SelectCommand = mySqlCommand; DataSet myDataSet = new DataSet(); mySqlConnection.Open(); mySqlDataAdapter.Fill(myDataSet, "Employee"); mySqlConnection.Close(); DataTable employeeDT = myDataSet.Tables["Employee"]; string filterExpression = "ID = 9"; string sortExpression = "ID"; DataViewRowState rowStateFilter = DataViewRowState.OriginalRows; DataView employeeDV = new DataView(); employeeDV.Table = employeeDT; employeeDV.RowFilter = filterExpression; employeeDV.Sort = sortExpression; employeeDV.RowStateFilter = rowStateFilter; foreach (DataRowView myDataRowView in employeeDV) { for (int count = 0; count < employeeDV.Table.Columns.Count; count++) { Console.WriteLine(myDataRowView[count]); } Console.WriteLine(""); } int index = employeeDV.Find("8"); Console.WriteLine("8 found at index " + index + "\n"); DataRowView[] employeeDRVs = employeeDV.FindRows("8"); foreach (DataRowView myDataRowView in employeeDRVs) { for (int count = 0; count < employeeDV.Table.Columns.Count; count++) { Console.WriteLine(myDataRowView[count]); } Console.WriteLine(""); } }
}
</source>