- 1、本文档共100页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
a sp.net-3.5从入门到精通9-12
·PAGE 218·
PAGE
PAGE 341
第9章 ASP.NET操作数据库
通过对ADO.NET的基本讲解,以及讲解了一些数据源控件的基本用法后,本章将介绍一些ASP.NET操作数据库的高级用法,包括使用SQLHelper,以及数据源控件对数据的操作。本章是对前面的数据库知识的一种补充和提升。
9.1 使用ADO.NET操作数据库
上一章中介绍了ADO.NET的基本概念、ADO.NET的对象,以及如何使用ADO.NET。使用ADO.NET能够极大的方便开发人员对数据库进行操作而无需关心数据库底层之间的运行,ADO.NET不仅包括多个对象,同样包括多种方法,这些方法都可以用来执行开发人员指定的SQL语句,但是这些方法实现过程又不尽相同,本节将介绍ADO.NET中数据的操作方法。
9.1.1 使用ExecuteReader()操作数据库
使用ExecuteReader()操作数据库,ExecuteReader()方法返回的是一个SqlDataReader对象或OleDbDataReader对象。当使用DataReader对象时,不会像DataSet那样提供无连接的数据库副本,DataReader类被设计为产生只读、只进的数据流。这些数据流都是从数据库返回的。所以,每次的访问或操作只有一个记录保存在服务器的内存中。
相比与DataSet而言,DataReader具有较快的访问能力,并且能够使用较少的服务器资源。DataReader对象提供了“游标”形式的读取方法,当从结果中读取了一行,则“游标”会继续读取到下一行。通过Read方法可以判断数据是否还有下一行,如果存在数据,则继续运行并返回true,否则返回false。示例代码如下所示。
string str = server=(local);database=mytable;uid=sa;pwd=sa;
SqlConnection con = new SqlConnection(str);
con.Open(); //打开连接
string strsql = select * from mynews; //SQL查询语句
SqlCommand cmd = new SqlCommand(strsql, con); //初始化Command对象
SqlDataReader rd = cmd.ExecuteReader(); //初始化DataReader对象
while (rd.Read())
{
Response.Write(rd[title].ToString()); //通过索引获取列
}
DataReader可以提高执行效率,有两种方式可以提高代码的性能,一种是基于序号的查询;第二种情况则是使用适当的Get方法来查询。一般来说,在数据库的设计中,需要设计索引键或主键来标识,在主键的设计中,自动增长类型是经常使用的,自动增长类型通常为整型,所以基于序号的查询可以使用DataReader,示例代码如下所示。
string str = server=(local);database=mytable;uid=sa;pwd=sa; //设置连接字串
SqlConnection con = new SqlConnection(str); //创建连接对象
con.Open(); //打开连接
string strsql = select * from mynews where id=1 order by id desc; //按标识查询
SqlCommand cmd = new SqlCommand(strsql, con); //创建Command对象
SqlDataReader rd = cmd.ExecuteReader(); //创建DataReader对象
while (rd.Read()) //遍历数据库
{
Response.Write(rd[title].ToString()); //读取相应行的信息
}
当使用ExecuteReader()操
文档评论(0)