




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十章 数据库的读取、插入、删除与更新10.1 ASP与数据库在第一章我们介绍了数据库的基本概念,在第五章到第八章介绍了Cookie、Application变量、Session变量、服务器文件访问等存储数据库的方法,现在我们就把这些方法与数据库做一个比较,如下表所示:存储数据的方法比 较Cookie优点:可以记录浏览者的信息并决定 Cookie 的生命周期。Cookie 存放在浏览器端,不会占用服务器端的空间。缺点:浏览者可能禁止服务器在浏览器端写入 Cookie。只能记录字符串、数值、日期等简单的数据类型,无法记录对象、数组等复杂的数据类型。Cookie 存放在浏览器端,有可能被浏览者删除而遗失。Cookie 可能造成安全上的威胁,导致个人信息被窃取。Application 变量优点:可以记录整个网站的信息。缺点:若服务器关机或超过 20 分钟没有人访问网页,Application 对象所记录的任何变量都将恢复为 Empty。Session 变量优点:可以记录个别浏览器端的信息。缺点:若浏览者在 20 分钟之内没有再访问网页,Session 对象所记录的任何变量都将恢复为 Empty。服务器端文件访问优点:适合记录少量数据,可进行写入或读取,而且没有生命周期的问题。缺点:当数据量很大时,文件的访问将变得没有效率。数据库优点:适合记录大量数据,可进行读取、插入、删除、更新与查询。缺点:虽然数据库的查询速度快,但打开数据库连接则需花费较多的时间。ASP是通过一组统称为ADO(ActiveX Data Objects)的对象模块来访问数据库,无论你采用的是Access、SQL Server、Visual FoxPro、Informix、Oracle、dBase或其他数据库,只要该数据库具有对应的ODBC或OLE DB驱动程序,ADO对象就能加以访问。ASP提供的ADO对象模块包含了下列6个对象和3个集合,比较常用的则是Connection、Recordset、Command、Field等对象。 Connection 对象:打开、关闭与数据源的连接 Recordset 对象:访问表的记录,包括读取、插入、删除或更新表的记录。 Command 对象:包含关于某个命令,例如查询字符串、参数定义等的信息。 Field 对象: 包含记录集中数据的某单个列的信息。 Error 对象: 包含数据提供程序出错时的扩展信息。 Parameter 对象:包含参数化的 Command 对象的某单个参数的信息。该 Command 对象有一个包含其所有 Parameter 对象的 Parameters 集合。 Fields 集合:包含 Recordset 对象的所有 Field 对象。 Parameters 集合:包含 Command 对象的所有 Parameter 对象。 Errors 集合:包含为响应涉及提供者的单个错误而创建的所有 Error 对象。10.2 建立Access数据库虽然不同的系统可能安装不同的ODBC或OLE DB驱动程序,但只要你安装PWS 40或IlS4050,系统上至少会有Microsoft Access Drive、Microsoft ODBC for Oracle、SOLServer等ODBC驱动程序,换句话说,你至少可以使用Access、Oracle、SQLServer等3种数据库来从事ASP网页数据库设计。如果你的系统还安装了MicrosoftExcel Driver、dbase Driver、VisualFoxProDriver、TextDriver等ODBC驱动程序,那么你可以有更多的数据库可选择。由于MicrosoftAccess 2000属于Office2000家族,获取较为容易,且界面和Office家族相似,学习起来基本没什么障碍,因此,我们将采用Access 2000来进行网页数据库设计。Access 2000数据库的建立方法可以分成两个阶段,第一个阶段是根据要输入的数据性质,新增表并设置表的字段名称、数据类型和语句,第二个阶段才是在表内输入数据。10.3 打开与关闭数据库连接在访问数据库之前,我们必须使用ADO对象模块的Connection对象打开数据库连接。打开数据库连接的完整代码如下:01: 关闭数据库连接的完整代码如下:01: 10.4 读取、插入、更新与删除表的记录在使用Connection对象打开数据库连接之后,我们可以使用Recordset对象访问表的记录。建立Recordset对象实例的方法如下:Set objRS=Server.CreateObject(“ADODB.Recordset”)10.4.1 读取表的记录这里,我们将以Friend.mdb数据库文件为例,讲解如何读取表的记录,然后将目前指针所指到的记录显示在浏览器上。程序代码如下:01:02: 03: %04: 使用 Connection 对象打开数据库连接,数据库文件为 05: Dim objConn06: Set objConn = Server.CreateObject(ADODB.Connection)07: objConn.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0; & _08: Data Source= & Server.MapPath(Friend.mdb)09: objConn.Open10: 11: 读取“择友俱乐部”表的记录,然后存放在 Recordset 对象12: Dim objRS13: Set objRS = Server.CreateObject(ADODB.Recordset)14: objRS.Open 择友俱乐部, objConn, adOpenKeyset, _15: adLockOptimistic, adCmdTable16:17: 将目前指针所指到的记录显示在浏览器画面18: If Not objRS.EOF Then19: Response.Write 编号: & objRS(编号) & 20: Response.Write 姓名: & objRS(姓名) & 21: Response.Write 性别: & objRS(性别) & 22: Else23: Response.Write 到达数据库的结尾,无法打印记录。24: End If25:26: 关闭数据库连接并释放对象实例27: objRS.Close28: Set objRS = Nothing29: objConn.Close30: Set objConn = Nothing31: %32:10.4.2 读取表的字段名称及字段数目使用 Field 对象的集合、方法、和属性可进行如下操作: w 使用 Name 属性可返回字段名。w 使用 Value 属性可查看或更改字段中的数据。w 使用 Type、Precision 和 NumericScale 属性可返回字段的基本特性。w 使用 DefinedSize 属性可返回已声明的字段大小。w 使用 ActualSize 属性可返回给定字段中数据的实际大小。w 使用 Attributes 属性和 Properties 集合可决定对于给定字段哪些类型的功能受到支持。w 使用 AppendChunk 和 GetChunk 方法可处理包含长二进制或长字符数据的字段值。w 如果提供者支持批更新,可使用 OriginalValue 和 UnderlyingValue 属性在批更新期间解决字段值之间的差异。我们一起来看下面的例子:01:02: 03: 04: 08: 09: 10: %11: 读取表的字段名称作为表格的标题12: For I = 0 To objRS.Fields.Count - 113: Response.Write & objRS.Fields(I).Name & 14: Next15: %16: 17: 18: %19: 读取表的字段数据作为表格每一列单元格的数据20: Do While Not objRS.EOF21: Data = 22: For I = 0 To objRS.Fields.Count - 123: Data = Data & & objRS.Fields(I).Value & 24: Next25: Response.Write Data & 26: objRS.MoveNext27: Loop28: 29; 关闭数据库连接并释放对象实例30: objRS.Close 31: Set objRS = Nothing 32: objConn.Close 33: Set objConn = Nothing 34: %35: 36: 37:10.4.3 使用Recordeset对象的Sort属性进行排序将Recordeset对象进行排序的方法有两种,其一是使用Recordeset对象的Sort属性,其二是使用SQL语句,这里我们介绍第一种方法,至于第二种方法我们在以后再介绍。现在,我们来看个例子。这个例子的数据库文件为Grades.mdb,表名为成绩单,总共有10条记录,如果我们依照语文分数由低到高进行排序,则可以写成如下:objRS.Sort=语文,相反的,如果我们依照语文分数由高到低进行排序,则可以写成如下:objRS.Sort=语文DESC10.4.4 使用Recordeset对象的Filter属性筛选记录当我们使用Recordeset对象的Open方法打开表时,所读取到的将是整个表的所有记录,但有时候我们会需要把筛选范围限制在符合某些条件的记录,例如语文成绩在90分以上的记录,此时,我们可以利用Recordeset对象的Filter属性来筛选记录,例如:objRS.Filter=语文90现在,我们来看下面的例子: 90 OR 数学 90% For I = 0 To objRS.Fields.Count - 1Response.Write & objRS.Fields(I).Name & Next %Do While Not objRS.EOFData = For I = 0 To objRS.Fields.Count - 1Data = Data &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省雄县2025年上半年公开招聘城市协管员试题含答案分析
- 河北省唐海县2025年上半年事业单位公开遴选试题含答案分析
- 河北省清苑县2025年上半年事业单位公开遴选试题含答案分析
- 河北省馆陶县2025年上半年公开招聘村务工作者试题含答案分析
- 2025年度生猪养殖场农业产业化龙头企业发展合作协议
- 2025年度农业土地承包与农产品品牌培育合同
- 2025年度事业单位因私出国专家聘请合同
- 2025年度农业项目抵押担保合同样本
- 2025年度工业产品设计合同保密条款
- 2025版文创产品社会化媒体营销推广合同
- 河南02YG301 钢筋混凝土过梁
- 糖尿病患者体重管理专家共识(2024年版)解读
- 监理公司常用工具仪器技术手册
- 小学数学1-6年级公式大全(打印版)
- 华中科技大学青年长江学者答辩模板
- 手术室抢救药品应用
- 血液灌流操作流程课件
- 厦门国际港务股份有限公司薪酬考核体系及职业经理人机制、改革纲要汇报
- 幼儿园拍照培训
- 2023年各地中考语文卷名著《昆虫记》阅读题汇集练附答案解析
- 消防设备销售员入职培训
评论
0/150
提交评论