Csharp/C Sharp/Database ADO.net/DataRowView

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

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