欢迎来到天天文库
浏览记录
ID:50690404
大小:2.29 MB
页数:98页
时间:2020-03-13
《aspnet35从入门到精通9-12.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第9章ASP.NET操作数据库通过对ADO.NET的基本讲解,以及讲解了一些数据源控件的基本用法后,本章将介绍一些ASP.NET操作数据库的高级用法,包括使用SQLHelper,以及数据源控件对数据的操作。本章是对前面的数据库知识的一种补充和提升。9.1使用ADO.NET操作数据库上一章中介绍了ADO.NET的基本概念、ADO.NET的对象,以及如何使用ADO.NET。使用ADO.NET能够极大的方便开发人员对数据库进行操作而无需关心数据库底层之间的运行,ADO.NET不仅包括多个对象,同样包括多种方法,这些方法都可以用来执行开发人员指定的SQL语句,但是这些方法实现过程又不尽相同,本节
2、将介绍ADO.NET中数据的操作方法。9.1.1使用ExecuteReader()操作数据库使用ExecuteReader()操作数据库,ExecuteReader()方法返回的是一个SqlDataReader对象或OleDbDataReader对象。当使用DataReader对象时,不会像DataSet那样提供无连接的数据库副本,DataReader类被设计为产生只读、只进的数据流。这些数据流都是从数据库返回的。所以,每次的访问或操作只有一个记录保存在服务器的内存中。相比与DataSet而言,DataReader具有较快的访问能力,并且能够使用较少的服务器资源。DataReader对象
3、提供了“游标”形式的读取方法,当从结果中读取了一行,则“游标”会继续读取到下一行。通过Read方法可以判断数据是否还有下一行,如果存在数据,则继续运行并返回true,否则返回false。示例代码如下所示。stringstr="server='(local)';database='mytable';uid='sa';pwd='sa'";SqlConnectioncon=newSqlConnection(str);con.Open();//打开连接stringstrsql="select*frommynews";//SQL查询语句SqlCommandcmd=newSqlCommand(str
4、sql,con);//初始化Command对象SqlDataReaderrd=cmd.ExecuteReader();//初始化DataReader对象while(rd.Read()){Response.Write(rd["title"].ToString());//通过索引获取列}DataReader可以提高执行效率,有两种方式可以提高代码的性能,一种是基于序号的查询;第二种情况则是使用适当的Get方法来查询。一般来说,在数据库的设计中,需要设计索引键或主键来标识,在主键的设计中,自动增长类型是经常使用的,自动增长类型通常为整型,所以基于序号的查询可以使用DataReader,示例代码
5、如下所示。stringstr="server='(local)';database='mytable';uid='sa';pwd='sa'";//设置连接字串SqlConnectioncon=newSqlConnection(str);//创建连接对象con.Open();//打开连接stringstrsql="select*frommynewswhereid=1orderbyiddesc";//按标识查询SqlCommandcmd=newSqlCommand(strsql,con);//创建Command对象SqlDataReaderrd=cmd.ExecuteReader();//创
6、建DataReader对象while(rd.Read())//遍历数据库{Response.Write(rd["title"].ToString());//读取相应行的信息}当使用ExecuteReader()操作数据库时,会遇到知道某列的名称而不知道某列的号的情况,这种情况可以通过使用DataReader对象的GetOrdinal()方法获取相应的列号。此方法接收一个列名并返回此列名所在的列号,示例代码如下所示。stringstr="server='(local)';database='mytable';uid='sa';pwd='sa'";//创建连接字串SqlConnectionc
7、on=newSqlConnection(str);//创建连接对象con.Open();//打开连接stringstrsql="select*frommynewswhereid=1orderbyiddesc";//创建执行SQL语句SqlCommandcmd=newSqlCommand(strsql,con);//创建Command对象SqlDataReaderrd=cmd.ExecuteReader();//创建DataReade
此文档下载收益归作者所有