ADO.NET访问数据库SqlCommand的ExecuteReader方法一般配合sqldatareader使用

用于执行查询语句并返回一个DataReader类型的行集合.

在与数据库交互中,要获得数据访问的结果可用连载方法实现,一个是datareader对象从数据源中获得数据并进行处理;另一种是通过dataset对象将数据存放在内存中进行处理

datareader可以顺序地查询结果集中读取记录,他的特点是单向向前,速度快占用内存少。使用datareader对象无论在系统开销还是在性能方面都很有效,他在任何时候只能缓存一条记录,并且没有将整个结果写入内存,从而避免内存大量使用,提高了系统性能。

主要方法有getname 取得字段名称,read读取下一条记录,返回值为布尔类型,下一条存在就是true,不存在就是false,一般使用weile循环读取整个数据。

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

public partial class test3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection();
        con.ConnectionString = "server=.;database=航空订票系统;uid=sa;pwd=;";
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandText = "select * from 用户表";
        try
        {
            con.Open();
            SqlDataReader reader = cmd.ExecuteReader();
            Response.Write("用户编号" + "  " + "用户名" + "<br>");
            while (reader.Read())
            {
                Response.Write(reader[0] + "  " + reader[1] + "<br>");
            }
            reader.Close();
            con.Close();
        }
        //finally
       // {
      //  }

        catch (Exception)
        {
            Response.Write("数据库访问异常,请重试");
            con.Close();
        }

    }
}

reader[0] 表示当前记录的第一个字段,[1]即第二个字段,reader[0]也可以写成reader[“字段名称”],或者写成 reader.getbalue(0)

reader.close() 关闭读取器对象

read方法用来遍历整个结果集,不需要指定向前移动指针,系统判断有无记录,有记录继续读取,无记录返回false 结束while语句。

定义sqldatareader对象时需要使用sqlconmand对象的executereader方法初始化。

就当吧,你说的都对,行,好的,嗯.
原文地址:https://www.cnblogs.com/beio/p/2873678.html