illustrates the use of a DataView object to filter and sort rows

image_pdfimage_print

/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy

Publisher: Sybex;
ISBN: 0782129110
*/

/*
Example23_5.cs illustrates the use of a DataView object to
filter and sort rows
*/

using System;
using System.Data;
using System.Data.SqlClient;

public class Example23_5
{

public static void Main()
{

// formulate a string containing the details of the
// database connection
string connectionString =
“server=localhost;database=Northwind;uid=sa;pwd=sa”;

// create a SqlConnection object to connect to the
// database, passing the connection string to the constructor
SqlConnection mySqlConnection =
new SqlConnection(connectionString);

// formulate a string containing a SELECT statement
string selectString =
“SELECT CustomerID, CompanyName, City, Country ” +
“FROM Customers”;

// create a SqlCommand object to hold the SELECT statement
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();

// set the CommandText property of the SqlCommand object to
// the SELECT string
mySqlCommand.CommandText = selectString;

// create a SqlDataAdapter object
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();

// set the SelectCommand property of the SqlAdapter object
// to the SqlCommand object
mySqlDataAdapter.SelectCommand = mySqlCommand;

// create a DataSet object to store the results of
// the SELECT statement
DataSet myDataSet = new DataSet();

// open the database connection using the
// Open() method of the SqlConnection object
mySqlConnection.Open();

// use the Fill() method of the SqlDataAdapter object to
// retrieve the rows from the table, storing the rows locally
// in a DataTable of the DataSet object
Console.WriteLine(“Retrieving rows from the Customers table”);
mySqlDataAdapter.Fill(myDataSet, “Customers”);

// create a DataView object
DataView myDataView =
new DataView(myDataSet.Tables[“Customers”]);

// set the RowFilter property of the DataView object
myDataView.RowFilter = “Country = 'UK'”;

// set the Sort property of the DataView object
myDataView.Sort = “CustomerID ASC”;

// display the rows in the DataView object
foreach (DataRowView myDataRowView in myDataView)
{
for (int count = 0; count < myDataView.Table.Columns.Count; count++) { Console.WriteLine(myDataRowView[count]); } } // close the database connection using the Close() method // of the SqlConnection object mySqlConnection.Close(); } } [/csharp]