《2022年用ASP连接读写ACCESS数据库实例 .pdf》由会员分享,可在线阅读,更多相关《2022年用ASP连接读写ACCESS数据库实例 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、(一)数据库的选择:有许多的数据库你可以选择,SQL SERVER 、ACCESS(*.mdb) 、EXCEL(*.xls) 、FOXPRO(*.dbf)甚至普通的文本文件(*.txt) 都可以达到存储数据的功能。那么到底选择什么数据库最合适呢?其中SQL SERVER是服务器级的, 足以应付每天上万次的访问量。对于非服务器级的数据库建议使用ACCESS97 。因为:(1)只要安装了PWS 或 IIS4 肯定有 ACCESS 的 ODBC 驱动,即你的系统肯定支持ACCESS数据库的存取。(2)ACCESS 支持的 SQL 指令非常齐全。(3)ACCESS ODBC驱动程序的效率非常高。虽然它
2、不是服务器级的数据库,但是作为中小型企业内部网的数据库支持还是绰绰有余的。(4)ACCESS97在 OFFICE97 中就有,非常方便得到和使用。本文就以 ACCESS 数据库为准介绍基于WEB 的数据库存取方法。(二)例子:我们建立一个“ 客户 ” 数据库,需要保存如下的客户资料:客户名称、联络人姓名、所在城市、电话号码。(1)首先建立ACCESS数据库 customer.mdb(今后有用的 )。建立如下字段:客户名称、联络人姓名、所在城市、电话号码、客户编号、时间。将表保存为客户 (今后有用的 ,= 看看图 )。注意:建立字段时多作了2 个(客户编号、时间),因为在今后排序时要用到它们。建
3、议今后做数据库时最好都加上这2 项,不会没用的。此外,在保存表时ACCESS会询问是否建立一个住关键字,我们不需要它所以不必建立。还有:时间字段的 默认值 设成 now() ,即去系统当时的时间。同时将索引项设成有(允许重复 ),含义: WEB 上极有可能同时存取数据,所以允许重复,索引设成有可以加快排序速度。= 看看图(2)建立递交表单add.htm :源代码如下: 添加数据库记录 添加数据库记录 公司名称: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 -
4、- - - - - - - - 联络人姓名: 所在城市: 电话号码: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 这与普通的HTML 没有任何区别,关键部分已经用红色标记了。递交方法用POST ,递交后处理的程序是 adddatabase.asp(下一步就重点讨论它)。(3)关键部分:建立与数据库的联系并将表单中收集到的信息添加到ACCESS数据库中。ASP 代码放在 %和% 之间。adddatabase.asp程序内容 :
5、 以上,首先取得表单中填写的数据,使用ASP 的 Request 对象非常容易可以实现数据的收集。双引号中的就是上个文件中建立的各个输入框中的名字红色部分( NAME= )。所以今后为每个输入框起名字是个好习惯,尽管有时候并不一定用得到。这样取得的数据就保存在等号坐侧的变量中了。If CompanyName = Or CName = Or City = Or Tel = Then Response.Write 请将资料填写完整。 Response.Redirect error.htm Response.End End If 这里是检测各个项目是否输入了东西,如果为空则不往下继续执行,显示错误信
6、息。注意:你可以使用两种方法。我都列出了。方法一:使用Response.Write方法写一个出错页面,类似于java scripts的 document.write写法,只是ASP 使用 Response.write罢了。方法二:使用 Response.Redirect方法导向出错页面error.htm 。 我在方法一的代码前加上单引号表示注释。(ASP 中表示注释用单引号)。 程序解释 : (1)建立 Connection 对象: dbconnection ,建立一个连接(Connection) 是数据库存取的开始。我们使用ASP 的内建对象方法Server.Createobject建立与数
7、据库的连接。ADODB 是 ASP 的数据库存取组件,不必担心只要有ASP 就有它了,是内置的。(2) 使用 dbconnection.open方法打开数据库customer.mdb 。 driver 参数语法: driver=Microsoft Access Driver (*.mdb) 必须这么写。告诉系统使用ACCESS ODBC驱动处理。 dbq 参数用来指定打开的数据库文名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - -
8、件,它必须是完整的路径。例如 c:inetpubwwwrootcustomercustomer.mdb,我们使用 Server.MapPath的方法取得数据库的完整路径。 建立 Recordset 对象 rs。 Connection仅仅是建立了与数据库间的连接,要存取数据还应该再建立Recordset对象。rs.Open 客户 , dbconnection, adOpenDynamic, 3 打开数据库中的表客户 (客户是表名)。语法:rs.open 数据表名或 SQL 指令,已经建立的Connection对象(这里是dbconnection ), 锁定类型 用 AddNew 向数据库请求添加
9、数据。最后用Update 写入。注意:等号右侧的变量保存着用Request 取得的表单数据。双引号内的就是数据库的字段,应该与数据库的一致啊。否则会出错的。这样变量内的数据就写入了数据库对应的字段内了。Response.Write 祝贺,您的数据已经添加进数据库了! Response.Write 查看数据 Response.Write 写入成功后显示祝贺信息并建立查看数据库记录的连接。% (4)显示 /查看数据库记录: 建立 SQL 查询语句,表示从客户表中查询所有记录,Order By 时间DESC 表示 按时间降序排序,这样最后添加的信息再最上面显示。下面一句执行SQL 查询并将结果返回给
10、Recordset对象CustomerList 。 数据库记录 编号 公司名称 联络人姓名 所在城市 电话号码 检测记录是否到了最后一条。EOF 表示 End of File 。 可以说是 Response.Write方法的简写。将 客户编号 字段内的数据写入 TD 标签间。 如果还没有到最后一条则指针移动到下一条。用Do While . Loop循环逐一取得所有的记录。 RS.OPEN SQL,CONN,A,B A: ADOPENFORW ARDONL Y(=0) 只读 ,且当前数据记录只能向下移动ADOPENKEYSET(=1) 只读 ,当前数据记录可自由移动ADOPENDYNAMIC(=
11、2) 可读写 ,当前数据记录可自由移动ADOPENSTATIC(=3) 可读写 ,当前数据记录可自由移动,可看到新增记录B: ADLOCKREADONLY(=1) 缺省锁定类型,记录集是只读的,不能修改记录ADLOCKPESSIMISTIC(=2) 悲观锁定, 当修改记录时, 数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。ADLOCKOPTIMISTIC(=3) 乐观锁定,直到用Update 方法提交更新记录时才锁定记录。ADLOCKBATCHOPTIMISTIC(=4) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
12、- - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - 批量乐观锁定,允许修改多个记录,只有调用UpdateBatch 方法后才锁定记录。当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,数据在这段时间被更新。这减少了资源的使用。= 数据库连接: 打开数据库:exec=select * from 数据库表 set rs=server.createobject(adodb.recordset) rs.open exec,conn,1,1 参数 1, 1为读取读取内容格式: 添加记录处理程序: 搜索处理程序 : 页面搜索到的内容导出来 删除记录处理程序: 修改记录处理程序: 修改记录执行程序:输入 ID 号页面 导出相对应ID 数据 直接修改的处理程序后台登陆处理程序例子: 每个后台页面加上: 本 篇 文 章 来 源 于黑 客 基 地 - 全 球 最 大 的 中 文 黑 客 站原 文 链 接 :http:/ - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -