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("");
}
}
}
Related examples in the same category