太阳种子
我思,故我在!
posts - 43,  comments - 33,  trackbacks - 2

<% @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());
  }
}

posted on 2006-07-06 15:08 太阳种子 阅读(262) 评论(0) 编辑 收藏