In this example we are going to see how to retrieve data values from a DataRow Array using different techniques.
Here we are using five different ways to access the data in a DataRow array:
- Using a column ordinal.
- Using a column name.
- Using the strongly typed accessor Field<T> with a column ordinal.
- Using the strongly typed accessor Field<T> with a column name.
- Using the strongly typed accessor Field<T> with a column name and a data row version.
using System;
using System.Data.SqlClient;
using System.Data;
namespace RetrieveValuesfromDataRowArray
{
class Program
{
static void Main(string[] args)
{
// Create a connection string
string objConnectString = "Data Source=(local);Initial Catalog=AdventureWorks;User ID=sa;Password=sa1234";
string objQuery = "SELECT ProductID,Name,ProductNumber,StandardCost FROM Production.Product WHERE ProductID BETWEEN 514 AND 522";
// Create a data adapter
SqlDataAdapter objDataAdapter= new SqlDataAdapter(objQuery, objConnectString);
// Fill a DataTable using DataAdapter
DataTable objDt = new DataTable();
objDataAdapter.Fill(objDt);
// Create and fill the DataRow array
DataRow[] objDataRowArray = new DataRow[objDt.Rows.Count];
objDt.Rows.CopyTo(objDataRowArray, 0);
// Using different techniques access DataRow array Product Name value in row 2
Console.WriteLine("Product Name = {0}", objDataRowArray[1][1]);
Console.WriteLine("Product Name = {0}", objDataRowArray[1]["Name"]);
Console.WriteLine("Product Name = {0}", objDataRowArray[1]["Name", DataRowVersion.Default]);
Console.WriteLine("Product Name = {0}", objDataRowArray[1].Field<string>(1));
Console.WriteLine("Product Name = {0}", objDataRowArray[1].Field<string>("Name"));
Console.WriteLine("Product Name = {0}", objDataRowArray[1].Field<string>("Name", DataRowVersion.Default));
Console.WriteLine("\nPress any key to continue.");
Console.ReadLine();
}
}
}
Output