* The code snippet tells how to retrieve fields
* using datareader for, this is a part of :
* Book: C#2005 Beginners: A Step Ahead
* Written by: Gaurav Arora [gaurav.aroraose@yahoo.co.in]
-->
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
SqlConnection myCon = new SqlConnection("Server=localhost;database=HRnPAYROLL;trusted_Connection=true");
SqlCommand myCmd = null;
SqlDataReader myDr = null;
SqlDataAdapter myDa = null;
DataSet myDs = null;
String strOutPut = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
Getfields_DataReader();
Getfields_DataReader_SchemaOnly();
Getfields_DataSet();
}
/// <summary>
/// Retrieves all filed/column names of DataReader using GetName method without SchemaOnly
/// </summary>
protected void Getfields_DataReader()
{
myCmd = new SqlCommand("Select * from Employees", myCon);
myCon.Open();
myDr = myCmd.ExecuteReader();
//Store total number of Columns
Int32 totCol = myDr.FieldCount; //Fiedl count returns the number of total columns
Response.Write("<div class=\"upperColumn\">");
Response.Write("<h1>Retrieves All Field Names from DataReader using GetName Without SchemaOnly</h1>");
strOutPut = "<table border=\"1\"><tr> <td>Column Name</td> <td>Data Type</td></tr>";
for (Int32 intCol = 0; intCol < totCol; intCol++)
{
strOutPut += "<tr><td>" + myDr.GetName(intCol) + "</td>";
strOutPut += "<td>" + myDr.GetFieldType(intCol) + "</td></tr>";
}
strOutPut += "</table>";
//Write the output
Response.Write("<br/>" + strOutPut + "</Div> <br class=\"clear\" />");
myCon.Close();
}
/// <summary>
/// Retrieves all filed/column names of DataReader using SchemaOnly
/// </summary>
protected void Getfields_DataReader_SchemaOnly()
{
myCmd = new SqlCommand("Select * from HR_MAST_DEPT", myCon);
myCon.Open();
myDr = myCmd.ExecuteReader(CommandBehavior.SchemaOnly);
//Store total number of Columns
Int32 totCol = myDr.FieldCount; //Fiedl count returns the number of total columns
Response.Write("<div class=\"content\"> <div class=\"bottomColumn\">");
Response.Write("<h1>Retrieves All Field Names from DataReader using SchemaOnly</h1>");
strOutPut = "<table border=\"1\"><tr> <td>Column Name</td> <td>Data Type</td></tr>";
for (Int32 intCol = 0; intCol < totCol; intCol++)
{
strOutPut += "<tr><td>" + myDr.GetName(intCol) + "</td>";
strOutPut += "<td>" + myDr.GetFieldType(intCol) + "</td></tr>";
}
strOutPut += "</table>";
//Write the output
Response.Write("<br/> " + strOutPut + "</Div> </Div><br class=\"clear\" />");
myCon.Close();
}
/// <summary>
/// Retrieves all filed/column names of DataSet using ColumnName
/// </summary>
protected void Getfields_DataSet()
{
myDa = new SqlDataAdapter("Select * from Employees", myCon);
myDs = new DataSet();
myDa.Fill(myDs);
Response.Write("<div class=\"content\"> <div class=\"rightColumn\">");
Response.Write("<h1>Retrieves All Field Names from DataSet ColumnName</h1>");
strOutPut = "<table border=\"1\"><tr> <td>Column Name</td> <td>Data Type</td></tr>";
for (Int32 intCol = 0; intCol < myDs.Tables[0].Columns.Count; intCol++)
{
strOutPut += "<tr><td>" + myDs.Tables[0].Columns[intCol].ColumnName + "</td>";
strOutPut += "<td>" + myDs.Tables[0].Columns[intCol].DataType + "</td></tr>";
}
strOutPut += "</table>";
//Write the output
Response.Write("<br/> " + strOutPut + "</Div> </Div>");
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<style type="text/css">
.content
{
margin:auto;
width:600px;
background-color:white;
border:Solid 2px orange;
}
html
{
background-color:gray;
font:14px Georgia,Serif,Garamond;
}
h1
{
color:Green;
font-size:18px;
border-bottom:Solid 1px orange;
}
.lbl
{
color:green;
font-weight:bold;
}
.upperColumn
{
margin:auto;
width:500px;
border:Solid 2px orange;
background-color:white;
padding:10px;
}
.bottomColumn
{
margin:auto;
width:700px;
border:Solid 2px orange;
background-color:white;
padding:10px;
}
.leftColumn
{ float:left;
width:300px;
height:150px;
border-right:Solid 1px gray;
background-color:white;
padding:5px;
}
.rightColumn
{ float:left;
height:150px;
border-left:Solid 1px gray;
padding:5px;
}
.clear
{
clear:both;
}
</style>
<title>How to retrieve all field names of datareader</title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>
No comments:
Post a Comment