《《Web数据库的操作》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《Web数据库的操作》PPT课件.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Web数据库的操作数据库的操作1 数据库访问流程数据库访问流程2 数据库的连接数据库的连接3 数据的查询控制数据的查询控制4 数据的添加、删除和修改数据的添加、删除和修改1 数据库访问流程数据库访问流程进行数据源操作的步骤如下:进行数据源操作的步骤如下:(1)创创建建与与数数据据库库的的连连接接,可可以以使使用用ADO中中的的Connection对对象象或或RecordSet对对象象的的相相关关属属性性和和方方法。法。(2)设设定定要要操操作作数数据据库库的的命命令令,可可以以使使用用ADO中中的的Connection对对象象、Command对对象象或或RecordSet对对象的相关方法和属性
2、来完成。象的相关方法和属性来完成。(3)执执行行命命令令,可可以以使使用用ADO中中的的Connection对对象象、Command对象或对象或RecordSet对象的相关方法。对象的相关方法。(4)得得到到数数据据后后,就就可可以以执执行行对对数数据据的的浏浏览览、增增加加、删删除除、修修改改等等操操作作,这这一一步步通通常常使使用用RecordSet对对象象的有关方法和属性完成。的有关方法和属性完成。(5)关闭数据库,清除有关对象。)关闭数据库,清除有关对象。ADO存取数据源流程2 数据库的连接数据库的连接(1)在)在Connection对象中设置对象中设置ConnectionString
3、参数时,可参数时,可以通过设置系统数据源(以通过设置系统数据源(System DSN),),即通过设置即通过设置ODBC的的方法来连接数据库。在方法来连接数据库。在ASP中利用中利用DSN连接数据库的代码如下:连接数据库的代码如下:Set conn=)DSN=txl;UID=sa;PWD=;Database=tx(2)如果不采用如果不采用DSN连接数据库,在设置连接数据库,在设置ConnectionString参数时,可以采用直接指定参数时,可以采用直接指定ODBC驱动程序连接数据库,连接驱动程序连接数据库,连接SQL Server数据库的代码如下:数据库的代码如下:Set conn=)str
4、Provider=Driver=SQL Server;Server=zjf;Database=tx;UID=sa;PWD=;strProvider(3)通过)通过OLE DB连接。代码如下:连接。代码如下:Set conn=)strPro=Provider=sqloledb;Data Source=zjf;Initial Catalog=tx;User ID=sa;Password=;sTRPro(4)在其他对象中,也可以通过设置在其他对象中,也可以通过设置ActiveConnection参数,完成对参数,完成对数据源连接的设置。以常用的数据源连接的设置。以常用的RecordSet对象为例,可
5、以使用该对象的对象为例,可以使用该对象的Open方法,利用设置好的方法,利用设置好的ActiveConnection参数完成对数据库的连接,参数完成对数据库的连接,程序代码如下:程序代码如下:Set rs=)t_student,Provider=sqloledb;Data Source=zjf;Initial Catalog&_=txl;User ID=sa;Password=;,adOpenStatic,adLockreadOnly,adCmdTable3 数据的查询控制数据的查询控制 数数据据库库在在网网络络中中的的应应用用大大部部分分集集中中在在数数据据的的查查询询操操作作上上。数数据据
6、查查询询需需要要使使用用ADO对对象象中中的的Connection对象和对象和RecordSet对象。对象。进行数据查询时,主要使用进行数据查询时,主要使用SQL语句中的语句中的Select语句,通过该语句就可以得到所要查询语句,通过该语句就可以得到所要查询的数据记录。的数据记录。下面的例子将介绍如何利用下面的例子将介绍如何利用Session对象对象和和RecordSet对象的对象的AbsolutePosition属性属性以一页或一条为单位来浏览查询结果。以一页或一条为单位来浏览查询结果。例例1:第第1步:建立步:建立ASP查询,文件名为查询,文件名为。在这个查询中,使用了在这个查询中,使用了
7、Session对象存储对象存储RecordSet对象,数据库的连接使用了对象,数据库的连接使用了RecordSet对象的对象的Open方法。程序代码如下:方法。程序代码如下:学号学号 姓名姓名 性别性别 电话电话 籍贯籍贯 班级班级 民族民族%记录开始时,当前数据指针在记录开始时,当前数据指针在RecordSet对象的位置对象的位置 Session(start)=Session(rs).AbsolutePosition输出表中的数据输出表中的数据For j=0 To Session(flag)-1 Response.Write 记录结束时,当前数据指针在记录结束时,当前数据指针在RecordS
8、et对象的位置对象的位置 Session(End)=Session(rs).Absoluteposition其中表示表的字段数其中表示表的字段数 把当前的数据记录显示出来把当前的数据记录显示出来 Response.Write&Session(rs).fields(i).value&Next Response.Write 移移到到下下一一条条数数据据记记录录,然然后后判判断断是是否否到到表表尾尾,如如果果是是,则则把把数数据据指指针针移移到表头到表头 Session(rs).MoveNext If Session(rs).Eof Then Session(rs).MovePrevious Exi
9、t For End IfNextResponse.Write%第第2步步:建建立立具具有有翻翻页页功功能能的的ASP程程序序,文文件件名名为为。该该文文件件将将显显示示“上上一一页页”、“下下一一页页”、“开开始始记记录录”、“结结束束记记录录”和和“数数据据总总条条数数”等等信信息息,并并完完成成一一定定的的链链接接关关系系,如如“上上一一页页”及及“下一页下一页”加入了超链接。加入了超链接。注注意意:当当记记录录指指针针位位于于第第一一页页时时,“上上一一页页”没没有有超超链链接接,而而当当记记录录指指针针位位于于最最后后一一页页时时,“下一页下一页”没有超链接。没有超链接。程序代码如下:
10、程序代码如下:%Response.Write 数据总条数:数据总条数:&Session(rs).RecordCount&判断是否到表尾或记录解释否,如果是,则只给判断是否到表尾或记录解释否,如果是,则只给“上一页上一页”加上超链加上超链接接If(Session(rs).Eof)or(Session(End)=Session(rs).RecordCount)Then Response.Write 上一页上一页|Response.Write 下一页下一页否则看是不是表头,如果是则只给否则看是不是表头,如果是则只给“下一页下一页”加上超链接加上超链接ElseIf(Session(rs).Bof)or
11、(Session(start)=1)Then Response.Write 上一页上一页|Response.Write 下一页下一页其他情况,都加上超链接其他情况,都加上超链接Else Response.Write 上一页上一页|Response.Write 下一页下一页 End IfResponse.Write 开始记录:开始记录:&Session(Start)&,结束记录:结束记录:&Session(End)&。%第第3步:建立显示步:建立显示“上一页上一页”或或“下一页下一页”功能的功能的ASP程序,文件名为程序,文件名为。在该程序中将继续显示表中的数据。程序中使用在该程序中将继续显示表
12、中的数据。程序中使用MoveNext方法和方法和MovePrevious方法完成数据指针的定位。代码如下:方法完成数据指针的定位。代码如下:学号学号 姓名姓名 性别性别 电话电话 籍贯籍贯 班级班级 民族民族%将数据指针移到要求的位置,先移到头,再使用将数据指针移到要求的位置,先移到头,再使用MoveNext往下移往下移If Request(Method)=Previous Then if session(end)=Session(rs).AbsolutePosition then count=session(end)-session(start)+9 else count=Session(F
13、lag)*2 end if For i=1 To count Session(rs).MovePrevious If Session(rs).Bof Then Session(rs).MoveNext Exit For End If NextEnd If记录数据的起始位置。记录数据的起始位置。Session(Start)=Session(rs).AbsolutePosition显示表中指定数据显示表中指定数据For j=0 To Session(Flag)-1 Response.Write Session(End)=Session(rs).AbsolutePosition 显示当前数据记录。显
14、示当前数据记录。Response.Write&Session(rs)(i).Value&NextResponse.Write Session(rs).MoveNext If Session(rs).Eof Then Session(rs).MovePrevious Exit For End IfNEXTResponse.Write%通过浏览器运行程序通过浏览器运行程序,显示结果如图所示。显示结果如图所示。数据控制程序结果1:显示首记录 数据控制程序结果2:显示表中最后的数据记录4 数据的添加、删除和修改数据的添加、删除和修改4.1 用户操作权限用户操作权限4.2 数据的添加数据的添加4.3 数
15、据的删除数据的删除4.4 数据的修改数据的修改4.1 用户操作权限用户操作权限1确认用户的权限确认用户的权限 可可以以先先将将用用户户的的名名称称、密密码码和和权权限限代代码码存存放放在在一一个个数数据据表表中中,当当用用户户登登录录网网站站时时,确确认认用用户户名名和和密密码码后后,从从数数据据库库中中取取得得该该用用户户的的权权限限代代码码,然然后后利利用用Session变变量量标标识识该该用用户户。假假设设用用户户的的相相关关信信息息都都存存放放在在表表users中中,程程序代码如下:序代码如下:2确认用户的操作确认用户的操作在其他需要验证用户的页面通过该在其他需要验证用户的页面通过该S
16、ession变变量识别用户,代码如下:量识别用户,代码如下:If Session(UserLevel)1 Then Response.Redirect Error.asp End If用户没有操作权限4.2 数据的添加数据的添加 在在网网站站中中,经经常常有有添添加加数数据据记记录录的的需需求求。如如一一个个提提供供电电子子邮邮件件服服务务的的网网站站,常常常常有有人人申申请请加加入入,这这时时就就要要用用到到添添加加用用户户资资料料的的功功能能。添添加加数数据据记记录录的的方方法法很很多多,这这里里主主要要介介绍绍两两种种。一一种种是是利利用用SQL语语句句中中的的Insert命命令令,另另
17、一一种种是是利利用用ADO对对象象之之一一的的RecordSet对对象象的的AddNew方法。方法。例例3:第第1步:首先创建一个添加数据的页面(步:首先创建一个添加数据的页面(),),在该页面中详细列出用户需输在该页面中详细列出用户需输入的项目。其代码如下:入的项目。其代码如下:学学 生生 基基 本本 数数 据据 录录 入入 姓名:姓名:学号:学号:班级:班级:性别:性别:男男女女 民族:民族:籍贯:籍贯:联系电话:联系电话:输入页面显示第第2步步:建建立立表表单单处处理理程程序序(),在在该该程程序序中中利利用用SQL语语句句中中的的Insert命命令令添添加加数数据据记记录录。这这里里将
18、将示示范范使使用用Connection对对象象的的Execute方法运行方法运行Insert命令。命令。0 Then Response.Write 系统发生系统发生&个错误!个错误!Else Response.Write 数据添加成功!数据添加成功!End IfSet conn=nothing%数据录入正确和错误的显示第第3步:在添加数据时还可以利用步:在添加数据时还可以利用RecordSet对象的对象的AddNew方法增加数据记录。程序代码如下:方法增加数据记录。程序代码如下:注意:注意:不能以只读方式打开表。不能以只读方式打开表。4.3 数据的删除数据的删除例例4:第第1步步:建建立立删删
19、除除页页面面,在在该该页页面面中中可可以以选选择择删删除除的的记记录。其显示结果如下图所示。录。其显示结果如下图所示。第第2步:建立数据删除程序,可以利用步:建立数据删除程序,可以利用SQL的的Delete命令删除数据记录。程序命令删除数据记录。程序代码如下:代码如下:第第3步:在删除记录时,还可以利用步:在删除记录时,还可以利用RecordSet对象的对象的Delete方法来删除表方法来删除表中的数据记录,如果要删除的记录可能不止一个,应该采用中的数据记录,如果要删除的记录可能不止一个,应该采用UpdateBatch方方法。程序代码如下:法。程序代码如下:4.4 数据的修改数据的修改例例5:
20、第第1步步:建建立立数数据据修修改改页页面面。在在修修改改数数据据时时,应应该该向向用用户户显显示示当当前前所所选选择择记记录录的的内内容容,便便于于修修改改。因因此此,在在程程序序的的代代码码中中除除了了能能够够获获得得被被操操作作的的记记录录外外(如如上上节节所所示示),还还要要回回显显记记录录内容。程序代码如下所示:内容。程序代码如下所示:学学 生生 基基 本本 数数 据据 录录 入入 姓名:姓名:input type=text name=name size=20 value=学号:学号:input type=text name=number size=20 value=班级:班级:in
21、put type=text name=class size=20 value=性别:性别:option value=男男女女 民族:民族:input type=text name=minzu size=20 value=籍贯:籍贯:input type=text name=jiguan size=20 value=联系电话:联系电话:input type=text name=phone size=20 value=在在上上例例中中,显显示示每每个个字字段段的的同同时时显显示示了了其其对对应应的的取取值值,在在上上图图的的页面中选择页面中选择“修改修改”后,屏幕显示如图所示。后,屏幕显示如图所示
22、。修改页面显示第第2步步:建建立立数数据据修修改改程程序序。可可以以利利用用SQL语语句句中中的的Update命令修改表中的记录,程序代码如下:命令修改表中的记录,程序代码如下:%取得用户输入的数据取得用户输入的数据t_name=Trim(request.form(name)t_number=Trim(request.form(number)t_class=Trim(request.form(class)t_sex=Trim(request.form(sex)t_minzu=Trim(request.form(minzu)t_phone=Trim(request.form(phone)t_ji
23、guan=Trim(request.form(jiguan)创建数据库的连接创建数据库的连接Set conn=)strProvider=Provider=sqloledb;Data Source=zjf;Initial Catalog=txl;User ID=sa;Password=;strProvider设置修改时的设置修改时的SQL语句语句field=array(t_name,t_number,t_class,t_sex,t_mizu,t_phone,t_jiguan)value=array(t_name,t_number,t_class,t_sex,t_minzu,t_phone,t_j
24、iguan)sql=UPDATE t_student SET For i=0 To ubound(field)sql=sql&field(i)&=&value(i)&If i ubound(field)Then sql=sql&,Else sql=sql&where t_number=&t_number End IfNext执行修改操作执行修改操作 sqlIf 0 Then Response.Write 系统发生系统发生&个错误!个错误!Else Response.Write 你的信息已成功修改你的信息已成功修改!End IfSet conn=nothing%第第3步步:也也可可以以利利用用RecordSet对对象象的的Update或或UpdateBatch方法修改表中的数据记录,程序代码如下:方法修改表中的数据记录,程序代码如下: