您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 5-3Web数据库的操作
Web数据库的操作1数据库访问流程2数据库的连接3数据的查询控制4数据的添加、删除和修改1数据库访问流程进行数据源操作的步骤如下:(1)创建与数据库的连接,可以使用ADO中的Connection对象或RecordSet对象的相关属性和方法。(2)设定要操作数据库的命令,可以使用ADO中的Connection对象、Command对象或RecordSet对象的相关方法和属性来完成。(3)执行命令,可以使用ADO中的Connection对象、Command对象或RecordSet对象的相关方法。(4)得到数据后,就可以执行对数据的浏览、增加、删除、修改等操作,这一步通常使用RecordSet对象的有关方法和属性完成。(5)关闭数据库,清除有关对象。ADO存取数据源流程2数据库的连接(1)在Connection对象中设置ConnectionString参数时,可以通过设置系统数据源(SystemDSN),即通过设置ODBC的方法来连接数据库。在ASP中利用DSN连接数据库的代码如下:Setconn=Server.CreateObject(ADODB.Connection)conn.OpenDSN=txl;UID=sa;PWD=;Database=tx(2)如果不采用DSN连接数据库,在设置ConnectionString参数时,可以采用直接指定ODBC驱动程序连接数据库,连接SQLServer数据库的代码如下:Setconn=Server.CreateObject(ADODB.Connection)strProvider=Driver={SQLServer};Server=zjf;Database=tx;UID=sa;PWD=;conn.OpenstrProvider(3)通过OLEDB连接。代码如下:Setconn=Server.CreateObject(ADODB.Connection)strPro=Provider=sqloledb;DataSource=zjf;InitialCatalog=tx;UserID=sa;Password=;conn.OpensTRPro(4)在其他对象中,也可以通过设置ActiveConnection参数,完成对数据源连接的设置。以常用的RecordSet对象为例,可以使用该对象的Open方法,利用设置好的ActiveConnection参数完成对数据库的连接,程序代码如下:Setrs=Server.CreateObject(ADODB.RecordSet)rs.Opent_student,Provider=sqloledb;DataSource=zjf;InitialCatalog&_=txl;UserID=sa;Password=;,adOpenStatic,adLockreadOnly,adCmdTable3数据的查询控制数据库在网络中的应用大部分集中在数据的查询操作上。数据查询需要使用ADO对象中的Connection对象和RecordSet对象。进行数据查询时,主要使用SQL语句中的Select语句,通过该语句就可以得到所要查询的数据记录。下面的例子将介绍如何利用Session对象和RecordSet对象的AbsolutePosition属性以一页或一条为单位来浏览查询结果。例1:第1步:建立ASP查询,文件名为select.asp。在这个查询中,使用了Session对象存储RecordSet对象,数据库的连接使用了RecordSet对象的Open方法。程序代码如下:HTMLBODYbgcolor=#ccffcc%'设置每一页所要显示的记录条数,这里为9条。Session(flag)=9'用RecordSet对象的Open方法连接数据库SetSession(rs)=Server.CreateObject(Adodb.recordSet)Constr=“DSN=db1;UID=user;PWD=123;Database=db1Session(rs).cursorlocation=aduseclientsql=select*fromstudentorderbyxh'利用RecordSet对象的Open方法创建记录集Session(rs).Opensql,Constr,adOpenkeySet,adlockreadonly,adcmdtext%%'输出表头,由于数据库中的字段名称为英文,因此,采用HTML标记输出%TABLEborder=1bordercolor=#000000cellspacing=1cellpadding=0align=centerTRalign=centervalign=middleheight=23TDB学号/B/TDTDB姓名/B/TDTDB性别/B/TDTDB电话/B/TDTDB籍贯/B/TDTDB班级/B/TDTDB民族/B/TD/TR%'记录开始时,当前数据指针在RecordSet对象的位置Session(start)=Session(rs).AbsolutePosition'输出表中的数据Forj=0ToSession(flag)-1Response.WriteTRalign=centervalign=middle'记录结束时,当前数据指针在RecordSet对象的位置Session(End)=Session(rs).Absoluteposition'其中Session(rs).fields.count表示表的字段数Fori=0ToSession(rs).fields.count-1'把当前的数据记录显示出来Response.WriteTD&Session(rs).fields(i).value&/TDNextResponse.Write/TR'移到下一条数据记录,然后判断是否到表尾,如果是,则把数据指针移到表头Session(rs).MoveNextIfSession(rs).EofThenSession(rs).MovePreviousExitForEndIfNextResponse.Write/TABLE%%'引入另一个文件,完成翻页功能%!--#includefile=link.asp--第2步:建立具有翻页功能的ASP程序,文件名为link.asp。该文件将显示“上一页”、“下一页”、“开始记录”、“结束记录”和“数据总条数”等信息,并完成一定的链接关系,如“上一页”及“下一页”加入了超链接。注意:当记录指针位于第一页时,“上一页”没有超链接,而当记录指针位于最后一页时,“下一页”没有超链接。程序代码如下:%Response.WriteBR数据总条数:&Session(rs).RecordCount&'判断是否到表尾或记录解释否,如果是,则只给“上一页”加上超链接If(Session(rs).Eof)or(Session(End)=Session(rs).RecordCount)ThenResponse.Write[Ahref=Query.asp?Method=Previous上一页/A|Response.Write下一页]'否则看是不是表头,如果是则只给“下一页”加上超链接ElseIf((Session(rs).Bof)or(Session(start)=1))ThenResponse.Write[上一页|Response.WriteAhref=Query.asp?Method=Next下一页/A]'其他情况,都加上超链接ElseResponse.Write[Ahref=Query.asp?Method=Previous上一页/A|Response.WriteAhref=Query.asp?Method=Next下一页/A]EndIfResponse.Write开始记录:&Session(Start)&,结束记录:&Session(End)&。%第3步:建立显示“上一页”或“下一页”功能的ASP程序,文件名为Query.asp。在该程序中将继续显示表中的数据。程序中使用MoveNext方法和MovePrevious方法完成数据指针的定位。代码如下:HTMLBODYbgcolor=#ccffcc%'显示表头%TABLEborder=1bordercolor=#000000cellspacing=1cellpadding=0align=centerTRalign=centervalign=middleheight=23TDB学号/B/TDTDB姓名/B/TDTDB性别/B/TDTDB电话/B/TDTDB籍贯/B/TDTDB班级/B/TDTDB民族/B/TD/TR%'将数据指针移到要求的位置,先移到头,再使用MoveNext往下移IfRequest(Method)=PreviousThenifsession(end)=Session(rs).AbsolutePositionthencount=session(end)-session(start)+9elsecount=Session(Flag)*2endifFori=1TocountSession(rs).MovePreviousIfSession(rs).BofThenSession(rs).MoveNextExitForEndIfNextEndIf'记录数据的起始位置。Session(Start)=Session(rs).AbsolutePosition'显示表中指定数据Forj=0ToSession(Flag)-1Response.WriteTRalign=centervalign=middleSession(End)=Session(rs).AbsolutePosition'显示当前数据记录。Fori=0ToSession(rs).Fields.count-1Response.WriteTD&Session(rs)(i).Value&/TDNextResponse.Write/TRSession(rs).MoveNextIfSession(rs).EofThenSession(rs).MovePreviousExitForEndIfNEXTResponse.Write/TABLE%/BODY!--#includeFile=link.asp--通过浏览器运行程序select.asp,显示结果如图所示。数据控制程序结果1:显示首记录数据控制程序结果2:显示表中最后的数据记录4数据的添加、删除和修改4.1用户操作权限4.2数据的添加4.3数据的删除4.4数据的修改4.1用户操作权限1.确认用户的权限可以先将用户的名称、密码和权限代码存放在一个数据表中,当用户登录网站时,确认用户名和密码后,从数据库中取得该用户的权限代码,然后利用Session变量标识该用户。假设用户的相关信息都存放在表users中,程序代码如下:%'取得用户输入的用户名和密码,并去掉空格strName=Trim(Request.Form(Username))strPassword=Trim(Request.Form(Userpassword))'创建与数据库的连接SetobjDBConn=Server.Createobject(ADODB.Connection)strProvider=Provider=sqloledb;DataSource=zjf;InitialCatalog=txl;UserID=sa;Password=;objdbconn.OpenstrProvider'SQL查询字符串strSQL=SELECT*FROMt_user
本文标题:5-3Web数据库的操作
链接地址:https://www.777doc.com/doc-3228929 .html