<% @Import namespace="System.Data" %>
<% @Import Namespace="System.Data.SqlClient" %>
<html>
<HEAD>
<title>使用 SqlDataReader 读取数据示例</title>
<script language="C#" runat="server">
void Page_Load(object sender, System.EventArgs e)
{
string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer"];
string Sql = "SELECT LastName, FirstName FROM Employees";
sqlconnection thisConnection = new SqlConnection(ConnectionString);
SqlCommand thisCommand = new SqlCommand(Sql, thisConnection);
thisCommand.CommandType = CommandType.Text;
try
{
// 打开数据库连接
thisCommand.Connection.Open();
// 执行SQL语句,并返回DataReader对象
SqlDataReader dr = thisCommand.ExecuteReader();
// 以粗体显示标题
myLabel.Text = "<b>LastName FirstName</b><br>";
// 循环读取结果集
while(dr.Read())
{
// 读取两个列值并输出到Label中
myLabel.Text += dr["LastName"] + " " + dr["FirstName"] + "<br>";
}
// 关闭DataReader
dr.Close();
}
catch(SqlException ex)
{
// 异常处理
Response.Write(ex.ToString());
}
finally
{
// 关闭数据库连接
thisCommand.Connection.Close();
}
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<h3>使用 SqlDataReader 读取数据示例</h3>
显示内容:<br>
<asp:Label id="myLabel" runat="server"></asp:Label>
</form>
</body>
</HTML>
ExecuteReader绑定到datagrid
使用 SqlCommand.ExecuteReader 方法返回一个 SqlDataReader 并将其直接绑定到 DataGrid (MyGrid)。
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection myConnection = new SqlConnection("server=Localhost;database=pubs;uid=sa;pwd=;");//创建SQL连接
SqlCommand myCommand = new SqlCommand("SELECT title, price FROM Titles WHERE price > 0", myConnection);//创建SQL命令
try
{
myConnection.Open();//打开数据库连接
MyGrid.DataSource = myCommand.ExecuteReader();//指定 DataGrid 的数据源
MyGrid.DataBind();//绑定数据到 DataGrid
myConnection.Close();//关闭数据连接
}
catch(Exception ex)
{
//捕获错误
HttpContext.Current.Response.Write(ex.ToString());
}
}
