收藏 分销(赏)

用ADO访问Web数据库.doc

上传人:二*** 文档编号:4576531 上传时间:2024-09-30 格式:DOC 页数:9 大小:105KB 下载积分:5 金币
下载 相关 举报
用ADO访问Web数据库.doc_第1页
第1页 / 共9页
本文档共9页,全文阅读请下载到手机保存,查看更方便
资源描述
第七章 用ADO访问Web数据库 ADO(ActiveX Data Object,ActiveX数据对象)是ASP的一个ActiveX服务器组件(ActiveX Server Component),用于Web数据库的访问,可以把ADO与ASP结合起来,创建基于Web的数据库应用程序,对服务器端的数据库进行查询、插入、更新、删除等操作。 1. ADO基础 (1) 常见的ADO对象 对 象 说 明 Connection 建立数据源的连接 Recordset 用于操作数据表 Command 执行数据查询 Fields和Field集合 处理记录集中的各个列。 (2) Web数据库访问方法 2. Connection对象 功能:建立数据源连接。 常用属性 § ConnectionString:数据库连接字符串,描述数据库的连接方式 常用方法 § Open:打开数据库连接 § Execute:执行指定的查询 § Close:关闭数据库连接 Connection对象的使用 § 创建Connection对象实例,例如: <% Set Cnn=Server.CreateObject(ADODB.Connect) %> § 设置连接字符串ConnectionString,例如: <% Cnn.ConnectionString=“Driver={Microsoft Access Driver(*.mdb)}; DBQ=d:\test\Users.mdb” %> 或 <% strConn= “Driver={Microsoft Access Driver(*.mdb)}; DBQ=d:\test\Users.mdb” %> § 用Open方法打开数据连接,例如: <% Cnn.Open %> 或 <% Cnn.Open strConn %> § 用Close方法关闭数据库连接,例如: <% Cnn.close Set Cnn=Nothing %> Open方法 § 功能:打开数据库连接 § 语法: Connection实例.Open ConnectionString Connection对象实例:是指用Server对象的CreateObject方法创建的连接对象实例名。 ConnectionString:是连接字符串,指明了连接的数据库的类型以及名称等。 Execute方法 § 功能 运行SQL语句,实现数据查询,并将查询结果存储在RecordSet对象中。 § 语法格式 不返回结果的命令 Connection.Execute CommandText,RecordsAffected,Option 返回结果的命令 Set RecordSet = Connection.Execute(CommandText,RecordsAffected,Option) 例如:Set rs = conn .Execute ("select * from sheet" ) § 说明:用该方法形成的数据集指针只能向下移动,记录只能供读取,不能插入、修改数据。 Close方法 功能:关闭已打开的Connection对象,将应用程序与数据库连接断开。 例如: objConn.close //关闭数据库连接 Set objConn=Nothing // 释放Connection对象实例所占的资源 3. Recordset对象 1)Recordset对象的常用属性 属性名 说 明 RecordCount 返回Recordset对象中有多少条记录。如果该属性无法判断记录总数,则返回-1。需要说明的是,如果Recordset对象所表示的记录集以adOpenForwardOnly方式打开,则RecordCount属性不起作用。 PageSize 当Recordset对象设置了分页时,使用PageSize属性设置每页的记录数。PageSize属性的缺省值为10,即每页有10条记录。 PageCount 指明当前Recordset对象所包含的页数。每一页包括一组记录,其记录的数量由PageSize属性设置。 AbsolutePage 返回当前记录所在页的绝对页号,也可以指定当前记录应该放置在哪页。 AbsolutePosition 返回当前记录指针的绝对位置。在正常情况下,其值在1到RecordCount(记录的个数)之间。在Recordset对象所表示的记录集内,第一条记录对应的AbsolutePosition值为1,最后一条记录的AbsolutePosition值为RecordCount。使用AbsolutePosition属性,可以将当前记录移动到指定的设置。例如:<% RS.AbsolutePosition=10 %>,这条命令将记录指针移动到第10条记录。 BOF 若指针位于第一条记录之前,返回True,否则返回False EOF 若指针位于最后一条记录之后,返回True,否则返回False § CursorLocation属性: 设置记录的存放位置,取值如下表: 常 数 值 说 明 adUseServer 2 记录被下载到浏览器端 adUseClient 3 记录存放在服务器端 § CursorType属性 设置指针在Recordset对象中的移动方向,取值如下表: 常 数 值 说 明 adOpenForwardOnly 0 默认值,指针只能下移。若对记录进行了新增、删除或更新,之前读取出的Recordset对象无法看到这些变化,仍保持着读取时的状态 adOpenKeyset 1 指针可上下移动。若对记录进行了新增、删除或更新,之前读取出的Recordset对象可看到更新的记录,但看不到新增或已删除的记录 adOpenDynsmic 2 指针可上下移动。若对记录进行了新增、删除或更新,之前读取出的Recordset对象可看到所有的改变 adOpenStatic 3 当CursorLocation=3时,取该值。此时,指针可上下移动,但看不到记录的任何修改 § LockType属性 设置能否将记录写入表中,取值如下表: 常 数 值 说 明 adLockReadOnly 1 默认值,记录为只读属性,不允许任何修改 adLockPessimistic 2 当开始编辑某记录时,锁定该记录;待编辑完成并调用Update方法进行更新后,再解除锁定 adLockOptimistic 3 只有在调用Update方法进行更新的时候才锁定记录,若在编辑某记录后没有调用Update,而移动了记录指针,ADO会自动调用Update,若要取消更新,可以使用CancelUpdate方法。 adLockBatchOptimistic 4 允许以批处理方式更改记录 2)Recordset对象的常用方法 方法名 说 明 AddNew 对一个可更新的Recordset对象新增记录行。 Delete 删除一个打开的Recordset对象的当前记录。 Update 存储Recordset对象当前记录的任何变动。 CancelUpdate 当数据修改之后,但还没有调用Update之前,取消数据更新 open 打开并获取Recordset对象 Close 关闭一个已打开的Recordset对象 MovwFirst 将指针移到第一条记录 MoveLast 将指针移到最末一条记录 MoveNext 将指针下移一条记录 MovePrevious 将指针上移一条记录 Move Num 将指针下移Num条记录 4. FIELDS对象 RS.FIELDS.count // 获取字段数 RS.FIELDS(i).name // 获取字段名 RS.FIELDS(i).value // 获取字段值 5. Command对象 功能:向数据源发出执行查询、更新数据的命令。 常用属性 § ActiveConnection § CommandText § CommandType 常用方法 § Execute:执行指定的查询 Command对象的使用 § 创建Command对象实例,例如: <% Set cmd=Server.CreateObject(ADODB.Command) %> § 设置Connection动态连接,例如: <% Set cmd.ActiveConnection = Cnn %> § 设置Command命令和类型,例如 <% strSQL=“select * from Users” cmd.CommandText = strSQL cmd.CommandType = adCmdText %> § 执行Command命令 <% cmd.Execute %> 6. 设计Web数据库应用程序步骤 1)创建数据库 可以在任意一种支持ODBC(OLE DB)的数据库管理系统中创建用户数据库。 字 段 字段名称 字段类型 字段宽度 留言者姓名 UserName 文本 8 Email地址 Email 文本 20 留言主题 Subject 文本 50 留言内容 Memo 备注 固定长度 留言时间 Time 日期 8 2)建立连接对象、打开数据库 § Set conn = Server.CreateObject("ADODB.Connection") § conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("book.mdb") 或 § Set Conn = Server.CreateObject("ADODB.Connection") § Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("Friend.mdb") § Conn.Open 3)打开指定的数据表 用Connection的Execute打开数据表,并将数据存放储到RecordSet对象实例rs中: Set rs = conn.Execute("sheet" ) 或用Recordset的Open方法打开数据表: § Set rs = Server.CreateObject("ADODB.Recordset") § rs.Open "sheet", Conn, adOpenKeyset, adLockOptimistic, adCmdTable 4)操作数据表 用RecordSet对象的方法(或 SQL )对rs中的数据进行查询、删除、修改、插入等操作。 5)断开连接对象、关闭数据库、释放资源 rs.Close conn.Close Set rs=Nothing Set conn=Nothing 7. 用Recordset对象操作数据库 § 对Recordset对象的查询与浏览 对数据库进行查询与浏览的一般过程是: Ø 为用户提供一个输入查询条件的界面,用户输入查询条件并提交给服务器端特定的.asp程序; Ø 编写ASP程序对表单数据进行处理 ü 服务器端asp程序建立连接、打开数据库、执行查询语句,将满足条件的记录存储在RecordSet对象中; ü 利用RecordSet对象的相关属性和方法浏览数据; ü 用ASP的Response.Write方法将符合条件的记录输出到浏览器窗口。 § 使用Recordset对象添加记录 在数据表中添加记录的一般过程是: Ø 提供一个输入数据的界面(*.htm) Ø 服务器端.asp程序将用户输入的数据存入变量中 Ø 建立连接、打开数据库,形成RecordSet对象实例 Ø 利用AddNew和UpDate方法将用户输入的数据写入RecordSet对象实例中。具体步骤如下: ü 添加一条空记录:rs.AddNew ü 为当前记录的各字段赋值:rs.(“姓名”)=“张三” ü 将当前记录写入数据表中:rs.Update § 使用Recordset对象修改记录 使用RecordSet对象修改某指定记录的字段值的方法,与添加记录比较,只是将AddNew方法用MoveNext等方法替代,以达到定位记录的目的,其它过程均相同。 § 使用Recordset对象删除记录 删除当前记录的语句是rs.Delete。 Recordset对象只能操作“当前数据记录”,因此要用MoveFirst、MoveNext等方法移动记录指针到要删除的记录。 说明:删除记录时,一定要保证当前记录是存在的。当前记录不存的原因有以下几种: Ø rs为空; Ø 当前记录为最末一个记录,又用了MoveNext方法; Ø 当前记录为第一个记录,又用了MovePrevious方法。 8. 用SQL操作数据库 SQL提供了一套完整的创建、查询、操作命令。 SQL功能 SQL命令 说 明 数据定义 CREATE 创建数据表结构 ALTER 修改数据表结构 DROP 删除数据表结构 数据查询 SELECT 查询满足条件的数据记录 数据操纵 INSERT 插入数据记录 UPDATE 修改指定记录的指定字段值 DELETE 删除指定数据记录 使用HTML5和CSS3构建基于webkit的Web Page/App 现在在ios/android上的web网站变的越来越多,智能机中ios和android系统的设备市场份额也是与日俱增,相信未来会是一个趋势,那么如何构建基于webkit的网站呢?这里有一篇文章介绍了如何用html5创建一个iphone的app,这是一个基于web的本地离线应用,相对于native应用来说基于web的应用开发和测试都非常快捷,基于webkit浏览器支持大部分的html5,也支持大部分的css3,而且开发语言也是大多数web工程师所熟悉的,最重要的一点是基于web的应用是完全跨平台的,不需要多平台的开发和测试。 开发基于webkit的web app/page时需要注意的有: HTML特性: <input type=”file” />在iphone上不work <a href=”13888888888″>Call Me</a>可以调用打电话应用 google maps, iTunes和youtube的链接会在iphone上打开相应的组件 app/web page设置: <link rel=”apple-touch-icon” href=”iphon_tetris_icon.png”/> 在设置书签的时候可以显示好看的图标 <meta name=”apple-mobile-web-app-capable” content=”yes” /> 离线应用的另一个技巧 <meta name=”apple-mobile-web-app-status-bar-style” content=”black” /> 隐藏状态栏 <link rel=”apple-touch-startup-image” href=”startup.png” /> 设置开始页面图片 <meta name=”viewport” content=”width=device-width, user-scalable=no” /> 指定mobile,并且不可缩放 <meta name=”viewport” content=”width=device-width, minimum-scale=1.0, maximum-scale=1.0″ /> 同上 CSS相关配置: @media screen and (max-device-width: 480px){ /* 小屏幕的css样式 */ } @media screen and (max-width: 320px){ /* 纵向的css样式 */ } @media screen and (max-width:480px){ /* 横向的css样式 */ } @media screen and (orientation: portrait){ /* iPad 纵向的css样式 */ } @media screen and (orientation:landscape){ /* iPad 横向的css样式 */ } display: -webkit-box; -webkit-box-orient:vertical/horizontal; -webkit-box-flex: value 水平垂直布局box rounded corner/text shadow/box shadow/rgba/font-face/transform/transition/animation/border-image/gradients/ 充分利用这些css3的特性做出丰富的UI 脚本特性: 可以选用开源的javascript库,如yui, jquery, mootools, dojo … 垂直的js库,如canvas游戏库有LimeJs, GameJs等,Mobile UI库如jquery mobile, sencha touch, iui等,以及其它各种库 隐藏标题栏 – addEventListener(“load”, function() { setTimeout(function (){ window.scrollTo(0,1);}, 0); }, false); webkitTransitionEnd/webkitAnimationStart/webkitAnimationIteration/webkitAnimationEnd transition/animation事件 localstorage/manifest 离线应用 模拟iphone的scroll效果,解决Mobile Safari下不支持position:fixed的问题:touch scroll, demo 调试: safari上可以设置user agent为iphone上的safari(preference->advaced->developer tool),还可以手动添加android的user agent{ Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 –Nexus } iphone的safari上有debug调试 关注Mobile性能问题,可以采用firebuglite等书签脚本来调试 文章的标题说的是web app/page,其实用html5和css3构建的app和page没啥区别,web page也很容易转换成native的app,通过phoneGap就可以了,phoneGap所做的就是在一个native的app内嵌入了一个类似chrome的浏览器,并且创建了一个桥接,从而直接去写web app就可以了,就像这个slide的标题写的一样“HTML5 is the Future of Mobile, PhoneGap Takes You There Today”,你的app可以在5个以上的平台上运行,使用的技术是你所熟悉的html/js/css,还等什么,赶快看看它的文档实践一下吧。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服