您的位置:首页 > 数据库

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

2013-01-23 19:03 681 查看
用于执行查询语句并返回一个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方法初始化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐