Mega Code Archive

 
Categories / C# / ADO Database
 

The use of the Find() and FindRows() methods of a DataView to find DataRowView objects

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.CommandText =       "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("");     }   } }