asp访问sqlserver数据库.ppt
《asp访问sqlserver数据库.ppt》由会员分享,可在线阅读,更多相关《asp访问sqlserver数据库.ppt(52页珍藏版)》请在三一办公上搜索。
1、第十章 Asp访问SQL Server数据库,在ASP中,用来存取数据库的对象统称为ADO(ActiveX Data Object),主要含有Connection、Recordset和Command三种对象。Connection对象:负责连接、打开数据库Recordset对象:存取数据库的内容Command对象:对数据库下达行动查询指令,10-1 存取数据库的准备工作,要让ADO对象能够存取数据库,最重要的东西就是ODBC驱动程序。ODBC:Open DataBase Connectivity对任何一种数据库来说,必须具备其对应的ODBC驱动程序,ADO对象才能够进行存取。,应用程序,应用程序
2、,应用程序,ADO对象,Dbase驱动程序,Access驱动程序,SQL Server驱动程序,Dbase数据库,Access数据库,SQL Server数据库,1.ODBC数据源管理器,控制面板管理工具ODBC数据源驱动程序,2.Connection对象的建立与数据库的连接,建立Connection对象set conn=server.createobject(adodb.connection)conn.Open driver=SQL Server;server=(local);uid=sa;pwd=;database=sample,3.访问数据库,建立Recordset对象set rs=se
3、rver.createobject(adodb.recordset)打开数据表,参数二为Connection对象rs.open 成绩单,conn,cursor,locktypecursor为游标参数,实际应用中的值为1、2、3,cursortype,0:adOpenForwardOnly,缺省值,启动一个只能向前移动的游标(Forward Only)。1:adOpenKeyset,启动一个Keyset类型的游标。用户对记录做的修改将反映到记录集中,但用户增加或删除记录不会反映到记录集中。支持分页 2:adOpenDynamic,启动一个Dynamic类型的游标。在打开数据表时,只是打开一部分记
4、录,随着程序的执行,再打开后面的记录;3:adOpenStatic,启动一个Static类型的游标。具有定位功能的,一次打开全部记录,所占的内存较多,浪费系统资源,打开数据表时间也相对较长,locktype,1:adLockReadOnly,缺省值,Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法2:adLockPrssimistic,当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。3:adLockOptimistic,当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。,5.数据库连接的关闭
5、,在对数据库所有的操作完毕后,应当及时关闭connection对象,释放资源Conn.closeSet conn=nothingSet rs=nothing,10-2 使用Recordset对象读取数据库,读取数据表表头读取数据内容 改变当前数据记录的方法 利用字段名称读取数据,例子:first00.asp改进:,读取数据表表头,第N个字段的表头为rs(N).Name(N从0开始算起)&rs(i).NameNext%例:first01.asp,在不知道表的字段个数情况下,如何正确的列出所有字段的表头呢?:读取字段个数例:First02.asp,读取数据内容,当打开某一个数据表时,当前数据记录位
6、于第一项的位置,此时只能读取这个数据记录的数据,数据表示方法如下图,rs(0)表示当前数据记录的第一项数据,第N项数据为rs(N),N从0开始,读取数据的方法:&rs(i).Name&=&rs(i)Next%说明:(1)rs(i).Name:读取第i栏的字段表头(i从0开始)(2)rs(i):读取当前数据记录第i栏的数据内容(i从0开始)(3):读取字段的数目 例:first03.asp,改变当前数据记录的方法,MoveNext方法:将当前数据记录移到下一项。MovePrevious:移到上一项MoveFirst:移到第一项MoveLast:移到最后一项BOF属性:若为True,表示当前数据记
7、录指针超过了第一项数据记录EOF:若为True,表示当前数据记录指针超过了最后一项数据记录例子:Firstdb.asp,&rs(i).Name&Next%For i=0 to Row=Row&rs(i)&Next Response.Write Row&rs.MoveNext 移到下一项 Wend%,使用字段名称读取数据,rs(“字段名称”),练习,练习1:写一网页,打开sample.mdb数据库的“股票行情表”,要求只列出“成交量”大于20000的数据记录。练习2:写一网页,打开sample.mdb数据库的“成绩单”数据表,除了显示“学号、姓名、语文、数学、英文”字段外,还要计算“语文、数学、
8、英文”三科的总分数线,显示成“总成绩字段”。,10-3 定位式的数据读取,要读取第100项数据,怎么办?设置AbsolutePosition属性:rs.absoluteposition=100定位功能实现:cursor类型设为33:adOpenStatic,启动一个static类型的游标,具有定位功能的,一次打开全部记录,所占的内存较多,浪费系统资源,打开数据表时间也相对较长,具备分页浏览功能的网页,Pagev1.asp:分页的技巧Pagev2.asp:在地址栏中输入页次Pagev3.asp:页次的浏览Pagev4.asp:增加“输入页次”字段,分页的几个重要参数,rs.pagesize:每页
9、显示的记录数Rs.pagecount:总页数Rs.absolutepage:某一页,Pagev1.asp,显示记录的某一页Rs.pagesize=10ShowOnePage rs,1,Sub ShowOnePage(rs,Page)Response.Write Response.Write Response.Write 编号 Response.Write&rs(i).Name&Next Response.Write rs.AbsolutePage=Page For iPage=1 To rs.PageSize Response.Write RecNo=(Page-1)*rs.PageSize+
10、iPage Response.Write&RecNo&Response.WRITE&rs(i)&Next Response.Write rs.MoveNext If rs.EOF Then Exit For Next Response.Write End Sub,Pagev2.asp,可输入页码的需要对获取的页数page转换Page=request(“page”)If page”then Page=cint(Page)If Page rs.PageCount Then Page=rs.PageCountElse Page=1End if,Pagev3.asp,对“上、下页”的显示方法Mysel
11、f=Request.ServerVariables(PATH_INFO)1 Then 如果不是位于第一页%?Page=1第一页?Page=上一页 rs.PageCount Then 如果不是位于最后一页%?Page=下一页?Page=最后一页,Pagev4.asp,带有输入文本框的分页 Method=“GET”,10-4 数据记录的增添、删除与修改,删除数据记录:首先要将准备删除的数据记录设置成当前数据记录,然后调用rs.delete方法。例子:delete.asp修改数据记录:修改以后只是把数据写到了缓冲区,必须调用Update方法或改变当前数据记录的位置才真正写入数据库。rs.(字段名)=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- asp 访问 sqlserver 数据库
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5415906.html