《网页与数据库操作.ppt》由会员分享,可在线阅读,更多相关《网页与数据库操作.ppt(34页珍藏版)》请在金锄头文库上搜索。
1、实验实验 网页与数据库操作一一 目的与要求目的与要求掌握IIS的安装和配置,ASP或者如何访问和操作数据库1.IIS的安装与配置的安装与配置IIS是InternetInformationServer的缩写,它是微软公司主推的Web服务器,最新的版本是Windows2000里面包含的IIS5.0,IIS与WindowNTServer完全集成在一起,因而用户能够利用WindowsNTServer和NTFS(NTFileSystem,NT的文件系统)内置的安全特性,建立强大、灵活而安全的Internet和Intranet站点。IIS的一个重要特性是支持ASP。IIS3.0版本以后引入了ASP,可以很
2、容易的张贴动态内容和开发基于Web的应用程序。IIS的安装,管理和配置都相当简单。IIS的安装步骤2.1点击:【开始】-【设置】-【控制面板】-【添加/删除程序】,打开“添加/删除程序”对话框。2.2点击左边菜单栏中“添加/删除Windows组件”项,打开“Windows组件向导”对话框(这个过程可能要花几十秒钟),在对话框“组件”列表中,选中“Internet信息服务(IIS)”项。第3步单击【详细信息】按钮,打开如图2所示的【Internet信息服务】对话框,在该对话框中可以选择IIS的子组件,一般情况下使用默认选择就可以。如果需要IIS提供邮件服务和FTP服务,则可以勾选SMTPServ
3、ice和【文件传输协议(FTP)服务】复选框,单击【确定】按钮图2第4步单击【下一步】按钮,开始安装,安装期间可能会出现要求插入系统安装盘(取决于本机操作系统的安装方法),如图3所示。图3第5步插入系统光盘,先单击【确定】按钮,再单击【浏览】按钮,选择安装盘目录下的i386目录,最后单击【确定】按钮进行安装,就可以完成IIS的安装,如图所示,单击【完成】按钮即可配置配置IIS使用Internet信息服务(IIS)管理器,可以创建用来承载ASP.NETWeb应用程序的本地网站。下面将介绍如何创建本地网站以及如何将它配置为运行ASP.NET页。这里以在WindowsXP系统下配置IIS为例,介绍I
4、IS的配置。第1步通过【开始】菜单打开【控制面板】窗口,双击【管理工具】选项,如图第2步打开如图所示的【管理工具】窗口,双击【Internet信息服务】快捷方式第3步打开如图所示的【Internet信息服务】窗口。注意:在WindowsXP的IIS管理器中,只有一个默认站点,不可以新建多个站点。但在WindowsServer版本上,可以新建多个站点。第4步展开【本地计算机】,再展开【网站】文件夹,选择【默认网站】选项,打开Internet信息服务本地网站展开窗口,如图所示。第5步单击鼠标右键,从弹出的快捷菜单中选择【属性】命令,弹出【默认网站属性】对话框,从中设置站点IP和端口。在【IP地址】
5、下拉列表框中选择【全部未分配】选项,在【TCP端口】文本框中填写80,如图所示。第6步设置网站文件目录位置和执行权限。切换到【主目录】选项卡,在【连接到资源时的内容来源】选项组中选中【此计算机上的目录】单选按钮,此时【本地路径】处默认为c:inetpubwwwroot。这说明站点网页放置在c:inetpubwwwroot目录下。选中【脚本资源访问】和【读取】复选框。在【执行权限】下拉列表框中选择【脚本和可执行文件】选项,如图所示。第7步添加网站启动页文件,切换到如图所示的【文档】选项卡,从中可以添加打开网站后所要启动的文件名。可以添加多个文件名,网站启动时在网站的主目录下从上到下搜索添加的【启
6、用默认文档】,直到找到匹配的文本框,然后打开该网页。第8步C#程序文件的后缀是.aspx,这里添加一个默认文件名default.aspx。单击【添加】按钮,在弹出的【添加默认文档】对话框中输入文件名default.aspx,单击【确定】按钮,如上图所示。第9步default.aspx文件出现在最下方,将其移至最上方,可以减少服务器搜索的时间,提高网页显示的速度。选择default.aspx后单击按钮,将default.aspx文件移至最顶端,如下图所示。上图第10步添加匿名访问用户。切换到【目录安全性】选项卡,然后单击【编辑】按钮,在弹出的【身份验证方法】对话框中选中【匿名访问】复选框,如上图
7、所示。单击【确定】按钮,返回【默认网站属性】对话框,单击【确定】按钮即可。第11步设置ASP.NET版本。单击ASP.NET选项卡,在【ASP.NET版本】处选择2.0.50727选项,如下图所示。第12步测试IIS,打开IE浏览器,输入http:/localhost,按回车键后,打开如图1.30所示的界面,表示IIS配置成功。Asp访问数据库ASP基本知识(一一)ASP即ActiveServerPage(动态网页)的缩写。它是一种包含了使用VBscript或Javascript脚本程序代码的网页当浏览器浏览ASP网页时,Web服务器服务器就会根据请求生成相应的HTML代码然后再返回给浏览器,
8、这样浏览器端看到的就是动态生成的网页ASP编辑器有很多种,比较流行的有FrontPage,记事本和Dreamweaver等。Asp的运行需要Windows操作系统。若想在本地运行ASP页面,需要安装Internet信息服务(简称IIS)。IIS有几个版本,相对应的分别为Windows2000默认安装的是IIS5.0(internetinformationserver),而windowsxp默认安装的是IIS5.1,windows2003默认安装的IIS6.0编写ASP页面使用的数据库access数据库或SQLServer数据库2ASP的内建对象ASP对象是特别为Web页面设计提供的,这些对象可
9、以搜集及存储随浏览器发送的信息、响应浏览器等。ASP内建对象列于下表中。对象名描述Server提供服务器的信息Application记录不同网页的共享信息Session记录来访用户的信息Request获取浏览器信息Response发送用户的信息ObjectContext提交或终止由ASP脚本启动的事务ASPError捕捉ASP错误,返回错误描述3ASP访问数据库简介使用ASP技术访问数据库的处理过程如下图所示。3在ASP中使用ADO对象在ASP中引用ADO对象,要加上前缀“ADODB”。例如,下面的语句将创建一个Recordset对象:几个常用的ADO对象列于下表中。对象名描述Connecti
10、on到数据源的连接Command可被数据源执行的命令Error数据源返回的错误信息Field一个Recordset对象的列Parameter命令参数Recordset数据源返回的记录集3在ASP中使用ADO对象1. Connection对象对象%创建一个ADOConnection对象Setcn=Server.CreateObject(ADODB.Connection)指定OLEDB提供者cn.Provider=sqloledb赋予OLEDB连接串ProvStr=Server=USER1;Database=XSCJ;UID=lo;PWD=l123;cn.OpenProvStrResponse.W
11、rite(&cn.Attributes)Response.Write(&cn.CommandTimeout)Response.Write(&cn.ConnectionString)Response.Write(&cn.CursorLocation)Response.Write(&cn.DefaultDatabase)Response.Write(&cn.IsolationLevel)Response.Write(&cn.Provider)Response.Write(&cn.Version)%3在ASP中使用ADO对象方法名描述Open打开一个数据源的连接Close关闭数据源的连接Execut
12、e在数据源上执行一个命令,返回一个结果集BeginTrans使数据源开始一个新处理CommitTrans结束当前处理并保存对数据源的修改RollBackTrans结束当前处理并取消对数据源的修改Connection对象有6个方法和9个属性,列于表1和2中。属性名访问属性描述CommandTimeoutR/W等待命令执行的时间(缺省值为30秒)ConnectionStringR/W若未传递参数给Open方法,则在ConnectionString中置入数据源连接串可达到同样的目的ConnectionTimeoutR/W等待连接数据源的时间(缺省值为15秒)DefaultDatabaseR/W当未指
13、定数据库名时所连接到的数据库ProviderR/W为连接提供数据的提供者名VersionRADO版本号3在ASP中使用ADO对象2. Recordset对象对象Recordset对象是对结果集的封装,其数据结构可认为与表相同,Recordset(若不为空)中的数据在逻辑上由行和列组成。Recordset对象有比较多的属性和方法,将它们分别列于表3和4中。属性名访问属性描述AbsolutPageR/W结果集的当前记录位置所在的页号AbsolutPositionR/W结果集的当前记录号ActiveConnectionR/W当前Connection对象BOFR若当前位置在Recordset的首部,其
14、值为真,否则为假EOFR若当前位置在Recordset的尾部,其值为真,否则为假PageCountRRecordset所包含的页数MaxRecordsR/W指定结果集的最多记录数,缺省值为0,表示不限制大小PageSizeR/W一个页面所包含的记录数RecordCountRRecordset中的记录数3在ASP中使用ADO对象Recordset对象的常用方法对象的常用方法方法名描述Addnew向Recordset中添加新记录CancelUpdate在执行Update方法之前取消对记录的修改Clone创建一个当前Recordset的拷贝Close关闭与Recordset的连接Delete删除当前
15、记录GetRows从Recordset及记录在数组中的位置得到记录号Move将当前位置移动到指定记录MoveFirst将当前位置移动到第一条记录MoveLast将当前位置移动到最后一条记录MoveNext将当前位置移动到下一条记录MovePrevious将当前位置移动到前一条记录Open打开与数据源连接的新的Recordset对象Requery再执行一次查询Support判别Recordset是否支持当前的方法或属性Update修改当前记录UpdateBatch成批修改记录3在ASP中使用ADO对象(1)Connection对象:到所访问数据源的连接。(2)Recordset类型:指结果集的读
16、写属性,有四种值:AdOpenForward只读,只向前,数值为0;AdOpenStatic只读,当前记录指针可前后移动,数值为3;AdOpenKeyset读写,当前记录指针可前后移动,数值为1;AdOpenDynamic读写,当前记录指针可前后移动,数值为2。AdOpenKeyset与AdOpenDynamic的区别在于,使用AdOpenKeyset将无法查看到其他用户对数据的更改,而使用AdOpenDynamic可查看到其他用户对数据的更改。(3)锁定类型:指出对结果集中的数据采用的锁定类型,有以下四种值:adLockReadOnly只读锁,为默认值,数值为1;adLockPessimis
17、tic悲观锁定,数值为2;adLockOptimistic乐观锁定,数值为3;adLockBatchOptimistic乐观批锁定,数值为4。3在ASP中使用ADO对象l 引用字段数据的方法引用字段数据的方法方法一rs.Fields(i).Value这种格式表示引用第i个字段的数据。可简化为rs(i)。方法二rs.Fields(字段名).Value例如:rs.Fields(“学号”).Value,rs.Fields(“姓名”).Value这种格式可读性比第一种要好。这种格式还有两种简化形式:rs.Fields(“字段名”),如rs.Fields(“学号”)。rs(“字段名”),如rs(“姓名”
18、)。l 数据增加数据增加例如向XS数据库增加一条记录:rs.AddNew假设已经创建了记录集rs,用AddNew要求增加一条记录rs(“学号”)=“101116”逐字段设置值rs(“姓名”)=“王小明”rs(“专业名”)=“计算机”rs(“性别”)=truers(“出生时间”)=1978-1-31rs(“总学分”)=40rs.Update写入数据库3在ASP中使用ADO对象l 数据修改数据修改修改结果集中数据,首先要用MoveNext等移动记录指针的方法将当前记录指针移动到要修改的记录位置,然后直接设置字段的新值,最后调用Update方法将修改了的数据写入数据库。例如,下列语句将当前记录的总学
19、分改为50:rs(“总学分”)=50rs.Update数据修改与数据增加操作都可以用CancelUpdate方法取消。l 数据删除数据删除使用Recordset对象的Delete方法可将结果集中的当前记录删除。如:rs.Delete将删除rs中的当前记录。l 数据分页显示数据分页显示当结果集中的记录数比较多时,采用分页显示的方式可使结果显示结构清晰,并能使用户有选择地查看信息。3在ASP中使用ADO对象【例例1】建立与数据库XSCJ的连接,返回XS表的所有记录,在浏览器中以表格形式进行分页显示。l 文件文件page.asp分页浏览数据库学生信息表%rs.PageSize=8设置rs的页的大小为
20、8条记录Page=CLng(Request(PageText)IFPagers.PageCountTHENPage=rs.PageCountShowPagers,Page%IFPage1THENResponse.Write第一页Response.Write上一页ENDIFIFPagers.PageCountTHENResponse.Write下一页Response.Write最后一页ENDIF%输入页号:总页数:/3在ASP中使用ADO对象l 文件文件ShowPage.asp%SubShowPage(rs,Page)显示结果集中的一页Response.WriteResponse.WriteFORi=0TOrs.Fields.Count-1Response.Write&rs.Fields(i).Name&NEXTResponse.Writers.AbsolutePage=PageFORi=1TOrs.PageSizeResponse.WriteFORj=0toTO.Fields.Count-1Response.Write&rs.Fields(j).Value&NEXTResponse.Writers.MoveNextIFrs.EOFTHENExitFOR若已到末尾则结束循环NEXTResponse.WriteEndSub%