第11章数据库
1.认识数据库
2.建立ACCESS数据库
3.连接数据库
4.操作数据库
5.分页技术
主讲教师:李炎恢
www.ibeifeng
www.ibeifeng
11.1认识数据库
所谓数据库,是指依照一定的格式存放在一起的数据记录文件,在日常生活中,凡是
个人通讯簿、公司帐簿、客户名单、支票明细、成绩等都数据数据库,它们不仅具有固定的
格式与特性,而且可以用表格形式来记录。由于数据库具有自动化管理,快速查询及统计的
优点,因此,学习处理数据库已经成为现代人必备的技能。
我们在前面曾介绍过Cookie,Application变量,Session变量,服务器端文件存取等存储数据
的方法,现在,我们就把这些方法与数据库做个比较。
存储数据的方法比较
Cookie优点:可以记录浏览这的信息并决定Cookies的声明周期
Cookies存放在浏览器端,不会占用服务器的空间。
缺点:浏览这可能禁止服务器端在浏览器端写入Cookies
只能记录字符串,数值,日期等简单的数据类型,无法记录对象,
数组等复杂的数据类型。
Cookies可能造成安全上的威胁,导致个人信息被窃取。Application变量优点:可以记录真个网站的信息。
缺点:若服务器关机或超过20分钟之内没有再存取网页,Application
对象所记录的任何变量都被恢复为空。
Session变量优点:可以记录个别浏览器端的信息
缺点:若服务器关机或超过20分钟之内没有再存取网页,Session对象
所记录的任何变量都被恢复为空。
服务器端文件存取优点:适合记录少量数据,可进行写入或读取,而且没有声明周期的题。
缺点:当数据量很大时,文件的存取将变得没有效率。
数据库优点:适合记录大量得数据,可进行读取,插入,删除,更新和查询。
缺点:虽然数据库得查询速度快,但打开数据库连接则需较多得时间。
11.2何为数据库管理系统(DBMS)
"数据库关系系统"时用来操作及管理数据库得软件,Microsoft Access就属于数据库管
理系统的软件,用户通过这个软件可以进行数据的输入,修改,编辑等工作。
11.3构成数据库的基本组件
我们以亲朋好友.mdb为例,这个数据库由6条数据组成,每一条数据我们称之为“记录”(RECORD),每条记录又包含编号,姓名,生日,电话等5个字段(FIELD)。
在ACCESS数据库中,这些数据组合成为一个“表”,数个性质相同的表组合一个数据库。
11.4何为关系型数据库(RDB)
个人数据库在使用及管理技术较为简单,但如果时一个包含许多数据库文件的大型数据
库系统,则需要专业的管理技术,诸如:如何快速到全国各地的客户及订单数据?如何确
保输入数据的正确性?如何避免不同地区的人员同时更改同一条信息?如果建立数据库文
件之间的关联性?如何使各数据库可以兼容共享?
为了避免数据库或表内的字段一再重复,例如:在“学生个人表”内已有学生个人数据,若
在“学生成绩单表”又填入学生个人数据,将造成数据的重复。因此,利用关系型数据库,
我们可以在表之间使用一个字段(如学生的学号),把学生个人数据与成绩,操行成绩连接
起来整合处理。
将两种以上性质不同的表,经过关联后,就可以当作一个整体的数据来处理,快速达到数据查询与整合的目的,此即所谓的“关系型数据库(Relational Data Base)”。以下便使我们用“学生管理系统”来说明数据库与表的关系,表之间以“学号”这个字段连接。
由上方3个表,我们可同时到学号101同学的姓名,地址,连接,到2,3个表就可查到各科成绩,名次,功过记录,操行总分等,并将显示到同一张成绩单上。11.5ASP与数据库
ASP 是通过一组统称为ADO(ActiveX Data Objects)的对象模块来存取数据库,无论您采用的是Access,SQL Server,Visual FoxPro,Informix,Oracle,dBase 或其他数据库,只要该数据库具有对应的ODBC 或OLE DB 驱动程序,ADO 对象就能加以存取。如图:要知道系统安装了哪些ODBC或OLE D
B驱动程序,Windows2000的用户可以打开“控制面板”,依序在“管理工具”,“ODBC数据源”上双击鼠标左键。
事实上,ASP 提供的ADO 对象模块包含了下列6个对象和3个集合,比较常用的则是Connection,Recordset,Command,Field 等。11.6建立Access数据库
虽然不同的系统可能安装不同的ODBC或OLEDB驱动程序,但只要您安装了IIS,系统上至少会由Microsoft Access Drive,Microsoft ODBC for Oracle,SQL Server等ODBC驱动程序。换句话说,你至少可以用Access,SQL Server,Oracle等3种最主流的数据库从事ASP网页数据库设计。
由于Microsoft Access2000属于Office2000家族,取得较为容易,且界面和Office家族相似,学习起来没有什么障碍!步骤:1.打开,新建空数据库。
2.保存到服务器路径。
3.创建一张表。
4.输入字段。
5.定义主键。(可选)
6.输入信息。
11.7打开和关系数据库连接
在存取数据库之前,您必须使用ADO对象模块的Connection对象打开数据库连接。
格式:
Dim conn
Set conn=Server.CreateObject("ADODB.Connection")
说明:Connectiong对象主要的用途是打开与关闭数据库连接。
方法:Close关闭数据库连接
Open打开一个数据库连接
Execute对表进行SQL查询
属性:ConnectionString描述数据库的连接方式
数据库连接的完整代码:(Access OLE DB驱动程序)
dim conn
set ateobject("tion")
conn.open
'数据库操作代码
conn.close
set conn=nothing
程序解释:使用Server.CreateObject方法建立Connection对象实例,再指派给conn.
使用Connection对象的ConnectionSting属性设置数据库
的连接方式,其中Provider=Microsoft.Jet.OLEDB.4.0;表示采用
OLE DB驱动方式进行连接。而Server.MapPath("数据库名.mdb")就是
数据库的路径,最后使用方法Open打开数据库。
最后,打开数据库进行了一系列的操作,要关闭和销毁对象实例的。
conn.close关闭数据库连接
set conn=nothing释放Connection对象实例所占的空间。
11.8数据库记录操作
在您学会使用Connection对象打开数据库连接之后,接下来,您可以使用ADO对象模块
提供的Recordset对象存取表的记录。建立Recordset对象实例的方法如下:
Set rs=Server.CreateObject("ADODB.Recordset")
Recordset对象
说明:Recordset对象可以存取表的记录,包括读取,插入,删除或更新等。
方法:
AddNew插入记录,需再执行Update方法才能完成数据新增
Delete删除指针所指到的记录
Open取得Recordset对象,它可能包含表的所有记录或符合SQL查询的记录。
Update完成更新
MoveNext移到指针的下一条记录。
MovePrevious移到指针的上一条记录。sql软件长什么样
MoveFirst移到第一条记录。
MoveLast移到最后一条记录。
Move Num移到对象种目前指针的下个Num条记录
属性:
AbsolutePosition目前指针的绝对位置,其值再1~RecordCount属性的值之间。
AbsolutePage当Recordset对象由设置分页时,AbsolutePage会返回目前的页码。
BOF若指针位于第一针记录前,返回True,否则返回False
EOF若指针位于最后一条记录之后,返回True,否则返回False
Filter筛选记录
MaxRecords可以返回的最多条记录数。
PageCount返回分页总数。
PageSiz e设置分页时,PageSiz e为每页的记录条数。
RecordCount返回记录条数
cursorType指针对象中的移动方向有四种参数值
设置值常数说明
0adOpenForwardOnly默认值,表示只能向下一条记录移动。
1adOpenKeyset指针可以自由上下移动,可看到更新记录,看不到新增和删除记录2adOpenDynamic什么都可以看到,消耗资源多,而且Access不支持
3adOpenStatic自由移动指针,看不到新增和删除或更新,和数
据库中断了。
LockType能否写入记录
设置值常数说明
1adLockReadOnly默认值,表示所有记录只读,不允许修改
2adLockPessimistic当开始编辑某条字段时,锁定记录,待编辑完后
update更新,解锁
3adLockOptimistic调用update更新锁定记录,和2比起来有不同步
的问题,但效率好
4adLockBatchOptimistic允许我们以批次的方式更改记录CursorLocation设置记录存放的位置
设置值常数说明
2adUserServer表示记录存放在服务器上
3adUserClient表示记录被下载到浏览器端
rs.close

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。