《六讲Web数据库.ppt》由会员分享,可在线阅读,更多相关《六讲Web数据库.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、六讲Web数据库 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望1 1 1 1 不同类型的数据源不同类型的数据源不同类型的数据源不同类型的数据源n n关系数据库关系数据库n n文档数据库文档数据库n n数据文件数据文件n nXMLXML文档文档n n电子邮件电子邮件n nOfficeOffice文档文档n nPDFPDF文档文档1-1 Web1-1 Web1-1 Web1-1 Web数据库概念数据库概念数据库概念数据库概念n n信息内容保存在数据库表中信息内容保存
2、在数据库表中n n由程序访问数据库生成由程序访问数据库生成WebWeb页面页面n n用户通过页面访问数据库中信息用户通过页面访问数据库中信息n n维护数据库的内容即可更新页面内容维护数据库的内容即可更新页面内容2 Web2 Web2 Web2 Web数据库系统的构架数据库系统的构架数据库系统的构架数据库系统的构架1.1.HtmlHtml页面页面+表单表单WebWeb服务器端程序数据库服务器端程序数据库2.2.HtmlHtml页面页面+插件插件WebWeb服务器端程序数据库服务器端程序数据库3.3.HtmlHtml页面页面+XmlHttpRequest+XmlHttpRequest WebWeb
3、服务器端服务器端程序数据库服务器程序数据库服务器2-1 Web2-1 Web2-1 Web2-1 Web数据库系统的构架数据库系统的构架数据库系统的构架数据库系统的构架(1)(1)(1)(1)服务器端技术服务器端技术服务器端技术服务器端技术n n提交表单提交表单WebWeb服务器处理数据库服务服务器处理数据库服务n n浏览器浏览器WebWeb服务器数据库服务器服务器数据库服务器n n基本构架、如网站新闻等基本构架、如网站新闻等Web浏览器浏览器Web服务器服务器数据库服务器数据库服务器客户客户服务器服务器2-2 Web2-2 Web2-2 Web2-2 Web数据库系统的构架数据库系统的构架数
4、据库系统的构架数据库系统的构架(2)(2)(2)(2)客户端技术客户端技术客户端技术客户端技术n n页面中含有插件页面中含有插件n n插件事件请求数据库服务,例插件事件请求数据库服务,例JavaAppletJavaAppletn n浏览器数据库服务器浏览器数据库服务器n n复杂界面的应用复杂界面的应用Web浏览器浏览器Web服务器服务器数据库服务器数据库服务器客户客户服务器服务器插件插件2-3 Web2-3 Web2-3 Web2-3 Web数据库系统的构架数据库系统的构架数据库系统的构架数据库系统的构架(3)(3)(3)(3)客户端技术客户端技术客户端技术客户端技术(Ajax)(Ajax)(
5、Ajax)(Ajax)n n页面、脚本页面、脚本n n页面、脚本页面、脚本WebWeb服务器端程序服务器端程序数据库服务数据库服务n n浏览器浏览器WebWeb服务器服务器数据库服务器数据库服务器n n例:例:googlegoogle文档、论坛文档、论坛Web浏览器浏览器Web服务器服务器数据库服务器数据库服务器客户客户服务器服务器JavaScriptXmlHttpRequest3 Windows3 Windows3 Windows3 Windows平台的服务器端技术构架平台的服务器端技术构架平台的服务器端技术构架平台的服务器端技术构架IEIISSQLServerASP程序程序请求请求.asp
6、IIS响应响应SQL访问访问数据集数据集表单请求:IIS执行.asp程序,调用ADO对象,访问SQL ServerIIS响应:.asp程序由数据记录集生成的纯html页面,发送到IE(数据库连接数据库连接)3-1 3-1 3-1 3-1 数据源数据源数据源数据源n n数据源:数据库类型、数据库服务器地址、数据数据源:数据库类型、数据库服务器地址、数据库名、用户名、口令库名、用户名、口令n n数据源连接方式:数据源连接方式:n nOLEDBOLEDBOLEDBOLEDB字符串字符串字符串字符串 OLEDBOLEDB对象组件数据库连接对象组件数据库连接n nDNSDNSDNSDNS ODBC OD
7、BC数据源名,开放数据库连接数据源名,开放数据库连接3-1-1 OLEDB3-1-1 OLEDB3-1-1 OLEDB3-1-1 OLEDB字符串字符串字符串字符串n nSQL ServerSQL ServerSQL ServerSQL Server数据库服务器数据库服务器数据库服务器数据库服务器OLEDBOLEDBOLEDBOLEDB字符串字符串字符串字符串:Provider=Microsoft.SQLOLEDB.1;Provider=Microsoft.SQLOLEDB.1;Data Source=MyHost;Data Source=MyHost;Initial Catalog=stud
8、ent;Initial Catalog=student;UserID=student;UserID=student;Password=Password=n nAccessAccessAccessAccess数据库数据库数据库数据库OLEDBOLEDBOLEDBOLEDB字符串:字符串:字符串:字符串:Provider=Microsoft.Jet.OleDB.4.0;Data Source=&Provider=Microsoft.Jet.OleDB.4.0;Data Source=&Server.mappath(WordHome.mdb)Server.mappath(WordHome.mdb)3
9、-1-2 3-1-2 3-1-2 3-1-2 建立建立建立建立DSNDSNDSNDSNn n打开打开ODBCODBC数据源管理器数据源管理器选择选择“系统系统DSNDSN”添加添加DSNDSN选择数据源类型选择数据源类型选择数据库文件或数据库服务器选择数据库文件或数据库服务器输入用户名和口令、连接参数输入用户名和口令、连接参数连接测试连接测试3-2 3-2 3-2 3-2 数据库访问对象数据库访问对象数据库访问对象数据库访问对象ADOADOADOADOConnectionErrorsRecordsetCommandFieldsFieldParametersParameterError3-2-1
10、 ADO3-2-1 ADO3-2-1 ADO3-2-1 ADO对象模型对象模型对象模型对象模型vvConnectionConnection对象:建立与关闭数据源的连接;对象:建立与关闭数据源的连接;vvCommandCommand对象:执行对象:执行SQLSQL指令,访问数据源;指令,访问数据源;vvRecordSetRecordSet对象:存放访问数据源后返回的所有记对象:存放访问数据源后返回的所有记录,是最常使用的对象;录,是最常使用的对象;vvFieldsFields集合:包含集合:包含RecordSetRecordSet对象中所有的对象中所有的FieldField对对象;象;3-2-1
11、 ADO3-2-1 ADO3-2-1 ADO3-2-1 ADO对象模型(续)对象模型(续)对象模型(续)对象模型(续)vvFieldField对象对象:提供对提供对RecordSetRecordSet对象所存放的某一条对象所存放的某一条记录的各个字段进行访问的功能;记录的各个字段进行访问的功能;vvPropertiesProperties集合集合:包含所有的包含所有的PropertyProperty对象;对象;vvPropertyProperty对象对象:提供有关参数提供有关参数,供供Connection,Connection,Command,RecordSet,FieldCommand,Re
12、cordSet,Field对象使用;对象使用;vvParameterParameter对象对象:提供提供CommandCommand对象所需的参数;对象所需的参数;vvErrorError对象对象:代表访问数据源时产生的某个错误;代表访问数据源时产生的某个错误;ParametersParameters集合:包含所有的集合:包含所有的ParameterParameter对象;对象;vvErrorsErrors集合:包含所有的集合:包含所有的ErrorError对象。对象。3-2-2 Recordset3-2-2 Recordset3-2-2 Recordset3-2-2 Recordset对象对
13、象对象对象 n n记录集记录集n n字段字段FieldsFieldsFieldsFields(KeyKey).Name.Count).Name.Count例例:xm=objRS.Fields(UserName)xm=objRS.Fields(UserName)objRS.Fields(UserName)=newNameobjRS.Fields(UserName)=newName3-2-3 Recordset3-2-3 Recordset3-2-3 Recordset3-2-3 Recordset对象常用方法对象常用方法对象常用方法对象常用方法n nOpenOpen打开记录集打开记录集n nAd
14、dNew AddNew 增加记录增加记录n nDeleteDelete删除记录删除记录n nMoveMove移动记录指针移动记录指针n nUpdateUpdate更新数据库表更新数据库表n nCloseClose关闭记录集关闭记录集3-3 ADO3-3 ADO3-3 ADO3-3 ADO、OLEDBOLEDBOLEDBOLEDB、ODBCODBCODBCODBC关系关系关系关系数据库数据库OLEDBOLEDBODBCODBCADOADO应用程序应用程序数据库驱动程序数据库驱动程序ADO.NETADO.NETPDOPDO3-3-1 3-3-1 3-3-1 3-3-1 数据数据数据数据n n在一个
15、数据源上可以建立多个数据库连接;在一个数据源上可以建立多个数据库连接;n n在一个数据库连接上可以建立多个记录集。在一个数据库连接上可以建立多个记录集。4 Web4 Web4 Web4 Web数据库应用系统的实现数据库应用系统的实现数据库应用系统的实现数据库应用系统的实现建立数据库连接对象建立数据库连接对象建立数据库记录集对象建立数据库记录集对象建立建立SQLSQL语句字符串(浏览、增加、修改)语句字符串(浏览、增加、修改)建立建立OLEDBOLEDB数据库连接字符串数据库连接字符串打开数据库连接打开数据库连接打开记录集(浏览)打开记录集(浏览)操作记录集操作记录集关闭数据库关闭数据库4-1-
16、1 OLEDB4-1-1 OLEDB4-1-1 OLEDB4-1-1 OLEDB访问数据库的代码访问数据库的代码访问数据库的代码访问数据库的代码%4-2 ODBC4-2 ODBC4-2 ODBC4-2 ODBC访问数据库的代码访问数据库的代码访问数据库的代码访问数据库的代码%4-2-1 4-2-1 4-2-1 4-2-1 例例例例1 1 1 1:读写数据库:读写数据库:读写数据库:读写数据库n n读取数据库表数据,生成纯读取数据库表数据,生成纯HTMLHTML页面,发送到页面,发送到浏览器。浏览器。4-2-2 4-2-2 4-2-2 4-2-2 例例例例2 2 2 2:会员管理系统:会员管理系
17、统:会员管理系统:会员管理系统n n注册注册n n登录登录/注销注销n n浏览留言浏览留言n n留言留言n n管理管理5 5 5 5 事务处理事务处理事务处理事务处理%0 thenIf cn.errors.count0 thenIf cn.errors.count0 thenIf cn.errors.count0 thenCn.rollbacktrans Cn.rollbacktrans Cn.rollbacktrans Cn.rollbacktrans 事务回滚事务回滚事务回滚事务回滚Else Else Else Else Cmittrans Cmittrans Cmittrans Cmit
18、trans 事务结束事务结束事务结束事务结束End ifEnd ifEnd ifEnd ifCn.closeCn.closeCn.closeCn.close%数据库连接上的事务数据库连接上的事务6 6 6 6 深入操作深入操作深入操作深入操作WebWebWebWeb数据库数据库数据库数据库n n数据库连接数据库连接数据库连接数据库连接ConnectionConnection对象属性:游标、模式、事务等;对象属性:游标、模式、事务等;n n记录集:分页、锁定等;记录集:分页、锁定等;记录集:分页、锁定等;记录集:分页、锁定等;n n数据库访问安全数据库访问安全数据库访问安全数据库访问安全用户操作
19、数据库的权限;用户操作数据库的权限;6-1 Connection6-1 Connection6-1 Connection6-1 Connection对象对象对象对象n nCursorLocation CursorLocation 游标位置游标位置(1/2)(1/2)n nMode Mode 修改数据的权限修改数据的权限(0/1/2/3/4/8/12/16)(0/1/2/3/4/8/12/16)n nState State 连接状态连接状态6-2-1 Recordset6-2-1 Recordset6-2-1 Recordset6-2-1 Recordset对象重要属性对象重要属性对象重要属性对
20、象重要属性n nStateStateStateState记录集状态记录集状态记录集状态记录集状态n nPageSize=PageSize=PageSize=PageSize=pagesizepagesizepagesizepagesize 每页包含的记录数每页包含的记录数每页包含的记录数每页包含的记录数n nAbsolutePage=AbsolutePage=AbsolutePage=AbsolutePage=pagepagepagepage 当前的页号当前的页号当前的页号当前的页号n nAbsolutePosition=AbsolutePosition=AbsolutePosition=Ab
21、solutePosition=positionpositionpositionposition 当前记录在记录集中的当前记录在记录集中的当前记录在记录集中的当前记录在记录集中的位置位置位置位置n nPagecount Pagecount Pagecount Pagecount 记录集中记录数记录集中记录数记录集中记录数记录集中记录数n nBookmark=Bookmark=Bookmark=Bookmark=bookmarkbookmarkbookmarkbookmark 定位书签定位书签定位书签定位书签6-2-2 6-2-2 6-2-2 6-2-2 记录集锁定状态记录集锁定状态记录集锁定状态
22、记录集锁定状态 n nLockType=LockType=LockType=LockType=typetypetypetype 设置值设置值说说 明明1 1默认值,表示返回的记录集是只读的,无法更改数据。默认值,表示返回的记录集是只读的,无法更改数据。2 2保守式记录锁定,编辑某条记录时锁定该记录,在调用保守式记录锁定,编辑某条记录时锁定该记录,在调用UpdateUpdate方法更新记录后解除锁定。方法更新记录后解除锁定。3 3开放式记录锁定,只在调用开放式记录锁定,只在调用UpdateUpdate方法时才锁定记录,方法时才锁定记录,更新记录后解除锁定。注意设置该值可能会引起数据不更新记录后解
23、除锁定。注意设置该值可能会引起数据不同步的问题,因为在编辑某条记录时,其它用户可能已同步的问题,因为在编辑某条记录时,其它用户可能已经更新了该记录。经更新了该记录。4 4开放式批更新,允许以批次的方式更改记录。开放式批更新,允许以批次的方式更改记录。6-2-3 6-2-3 6-2-3 6-2-3 记录集游标类型记录集游标类型记录集游标类型记录集游标类型n nCursorTypeCursorTypeCursorTypeCursorType=typetype 设置值设置值说说 明明 0 0默认值,指针的移动方向只能向前,且看不到在返回记录默认值,指针的移动方向只能向前,且看不到在返回记录集后其它使
24、用者对表所进行的新增、删除与更新。设置该集后其它使用者对表所进行的新增、删除与更新。设置该值时所使用的系统资源最少,拥有最高的执行效率。值时所使用的系统资源最少,拥有最高的执行效率。1 1指针可以自由移动,及时反映其它使用者对表所进行的更指针可以自由移动,及时反映其它使用者对表所进行的更新,但不能反映对表所进行的新增、删除。设置该值占用新,但不能反映对表所进行的新增、删除。设置该值占用较多的系统资源。较多的系统资源。2 2指针可以自由移动,能及时反映对表所进行的新增、删除指针可以自由移动,能及时反映对表所进行的新增、删除与更新,同时支持与更新,同时支持RecordsetRecordset对象的
25、书签功能。设置该值将对象的书签功能。设置该值将占用最多的系统资源。占用最多的系统资源。3 3静态的复制一份记录集,指针可以进行自由移动,看不到静态的复制一份记录集,指针可以进行自由移动,看不到其它使用者对表进行的新增、删除与更新操作。其它使用者对表进行的新增、删除与更新操作。6-2-4 6-2-4 6-2-4 6-2-4 对记录集筛选、排序对记录集筛选、排序对记录集筛选、排序对记录集筛选、排序Filter=Filter=conditionstrconditionstr 示例示例:objRS.Filter=userAge 20objRS.Filter=userAge 20筛选出筛选出 userA
26、ge userAge 字段值大于字段值大于 20 20 的记录的记录Sort=Sort=sortstrsortstr 例:例:objRS.Sort=name ASCobjRS.Sort=name ASC7 7 7 7 性能优化性能优化性能优化性能优化n n规范化问题规范化问题n n分布计算:分布计算:Client/AppServer/DBserverClient/AppServer/DBservern n静态化:全静态化、部分静态化静态化:全静态化、部分静态化8 8 8 8 数据库系统安全数据库系统安全数据库系统安全数据库系统安全n n连接连接MS SQL Server 2000MS SQL
27、Server 2000n n登录到登录到SQLSQL服务器服务器n n 获得访问数据库的权限获得访问数据库的权限n n相应的权限访问数据库对象(对象许可)或执相应的权限访问数据库对象(对象许可)或执行某些语句(语句许可),为便于管理,使用行某些语句(语句许可),为便于管理,使用各种角色授予用户许可各种角色授予用户许可n nMy SQLMy SQL等服务器数据库系统(与等服务器数据库系统(与MS SQLMS SQL类似)类似)n nAccessAccess安全性安全性n n用户和组安全用户和组安全n n语句许可语句许可参考资料参考资料参考资料参考资料n nMS SQL Server2000MS
28、SQL Server2000帮助信息帮助信息n n周绪等著周绪等著 MS SQL Server2000MS SQL Server2000入门到精通入门到精通清华大学出版社出版清华大学出版社出版 基基基基于于于于数数数数组组组组的的的的分分分分页页页页显显显显示示示示算算算算法法法法设定每页显示的记录数目pagesize读取当前应该处理的页码currpage将需要分页显示的记录存入2维数组rsarray计算当前页首末记录对应的数组元素下标rsstart,rsend从当前页第一条记录的数组元素开始rsstart读取数组一行,以HTML表格形式显示 本页记录显示完到当前页最后一条记录的数组元素rsend是否