第13篇 Recordset对象-存取数据库的对象.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十三章 Recordset对象-存取数据库的对象 在ASP中,用来存取数据库的对象统称为ADO(ActiveX Data Object),主要含有Connection、Recordset和Command三种对象。 Connection对象:负责连接、打开数据库 Recordset对象:存取数据库的内容 Command对象:对数据库下达行动查询指令 13-1 存取数据库的准备工作 要让ADO对象能够存取数据库,最重要的东西就是ODBC驱动程序。 ODBC:Open DataBase Connectivity 对任何一种数据库来说,必须具备其对应的ODBC驱动程序,ADO对象才能够进行存取。 1.ODBC数据源管理器 控制面板-管理工具-ODBC数据源-驱动程序 2.ACCESS数据库 (1)创建数据库 (2)使用设计器创建表 (3)录入数据 (4)建立关联 主键:确定数据库中的表的记录的唯一标识字段,可以是表中的一个字段,也可以是表中的多个字段组成的(复合主键)。 主键字段不可为空,也不可以重复 如:学生表中的学号 外键:相对于主键而言的 如另有一张成绩表,表中也出现了学生表中的对应学号字段,则相对于学生表,学号就是成绩表的外键 (5)ACCESS数据库安全性措施 .mdb文件的安全隐患:容易被下载 解决方法: 将文件名的后缀改为.asa或.asp,asp会自动识别,且无法被下载 如:数据库student.mdb,改为:student.asa或student.asp (6)数据库的设计原则(三范式) 第一范式:如果一个关系R的每一个属性都是不可分解的,则称R是满足第一范式(1NF)的。 例如: 学生表(学号,姓名,性别,出生日期,系名,入学时间,家庭成员) 这个关系(表)不满足第一范式,原因是因为家庭成员这个属性可以再分解(父亲,母亲等)。解决的办法是将这个表分解成如下两张表: 学生表(学号,姓名,性别,出生日期,系名,入学时间) 家庭表(学号,家庭成员姓名,亲属关系) 第二范式:在满足第一范式的基础上,如果关系R的任何一个非主键都依赖于主键,则称该表满足第二范式。 例如: 成绩表(学号,课程号,出生日期,成绩) 在这个表中,每一条记录由学号+课程号唯一确定。学号+课程号为此表的复合主键。 但是在这个表中,出生日期只是依赖于学号变化,不是依赖于学号+课程号,所以不满足第二范式。 第二范式又称为部分依赖问题(一定是复合主键),即非主键对复合主键的部分依赖。 解决办法:拆分为两表 成绩表(学号,课程号,成绩) 学生表(学号,出生日期) 第三范式:在满足第二范式的基础上,表中非主键列互不依赖,那么就满足第三范式。 例如: 学生表(学号,姓名,系编号,系名) 这个表中,让学号做主键,由于学号不是复合主键,因此一定不会产生对主键部分依赖的问题,所以是满足第二范式的。但是由于系名依赖于非主键系编号,所以不满足第三范式。 解决办法: 学生表(学号,姓名,系编号) 系名表(系编号,系名) 3.访问数据库的过程 (1)建立Connection对象 set conn=server.createobject(adodb.connection) (2)连接数据库 conn.open “Provider=Microsoft.jet.oledb.4.0;Data Source=” Server.MapPath(“sample.mdb”) (3)建立Recordset对象 set rs=server.createobject(adodb.recordset) (4)打开数据表 rs.open 成绩单,conn,cursor,locktype cursor为游标参数,实际应用中的值为0、1、2、3 Locktype为锁定参数,实际应用中的值为1、2、3 cursortype 0 :adOpenForwardOnly,缺省值,启动一个只能向前移动的游标(Forward Only)。 1:adOpenKeyset,启动一个Keyset类型的游标。用户对记录做的修改将反映到记录集中,但用户增加或删除记录不会反映到记录集中。支持分页 2:adOpenDynamic,启动一个Dynamic类型的游标。在打开数据表时,只是打开一部分记录,随着程序的执行,再打开后面的记录; 3:adOpenStatic,启动一个Static类型的游标。具有定位功能的,一次打开全部记录,所占的内存较多,浪费系统资源,打开数据表时间也相对较长 locktype 1:adLockReadOnly,缺省值,Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法 2:adLockPrssimistic,当数据源正在更新时,系统

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档