ASP开发中数据库文件调用的捷径

简介:
通过Access应用程序制作如图1的数据库文件(friend.mdb)

图1
  那么, ASP程序设计中调用该数据库文件有两种方式,一种为直接在"控制面板"的"数据源(ODBC)"上进行手工设置;另外一种是编程,通过相对路径调用数据库文件,这种方式可适用在任何一台服务器上而不用再进行配置。第一种方式较为简单安全,本文所谈的是第二种方式。
  下面列出 ASP程序设计中一般读取数据库文件中表记录的方法:
01: <HTML><BODY>
02: <!--#include file="adovbs.inc"-->
03: <%
04:  ’使用 ASP的Connection 对象打开数据库,数据库文件为上图的<Friend.mdb>’
05:  Dim objConn
06:  Set objConn=Server.CreateObject("ADODB.Connection")
07:  objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" &_
08:    "Data Source=" & Server.MapPath("Friend.mdb")
09:  objConn.Open
10:  读取"data"表的记录,然后存放在Record set对象
11:  Dim objRS
12:  Set objRS=Server.CreateObject("ADODB.Recordset")
13:  ObjRS.Open "data",objConn,adOpenKeyset,adLockOptimistic,adCmdTable
14:  ’将目前指针所指到的记录显示在浏览器上
15:  If Not objRS. EOF then
16:   Response.Write "编号:"&objRS("编号")& "<BR>"
17:   Response. Write "姓名:"&objRS("姓名")& "<BR>"
18:   Response. Write "性别:"&objRS("性别")& "<BR>"
19:  Else
20:   Response.Write "到达数据库的结尾,已经显示完所有符合条件的记录"
21:  End If
22:   ’关闭数据库连接并释放对象实例
23:   ObjRS. Close
24:   Set objRS=Nothing
25:   ObjConn.Close
26:   Set objConn=Nothing
27: %>
28: </BODY></HTML>
  上述代码为 ASP编程中一般打开Access数据库文件的设计步骤。
  数据库文件调用的技巧
  (1)事实上,无论换成哪个Access数据库,打开数据库连接与读取表记录的步骤是相同的,其中的变量在于数据库文件的名称及表的名称,所以可以将上述程序的第3~13行改写成函数的形式,并存成一个文件如:ADOFunctions. asp,日后要打开某个数据库文件的话,就把该文件ADOFunctions. asp 装(include)进来,代码如下:
<%
Dim objConn
’变量Filename为数据库文件名,变量Table Name为表名
Function GetRecordset(FileName,TableName)
’使用 ASP的Connection 对象打开数据库
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" &_
"Data Source=" & Server.MapPath("Filename")
objConn.Open
’读取表的记录,然后存放在Record set对象"objRS"
Dim objRS
Set objRS=Server.CreateObject("ADODB.Recordset")
ObjRS.Open TableName,objConn,adOpenKeyset,adLockOptimistic,adCmdTable
End Function
%>
  由上述代码可知,函数名为GetRecordSet,其返回值是存放了表记录的Record set对象实例,存成文件名为ADOFunctions. asp。现在,利用该文件就可以读取任何数据库文件的记录了。如一般读取数据库的编程可简化如下:
<HTML><BODY>
<! --#Include file="adovbs.inc"-->
<! --#include file="ADOFunctions. asp"--> 
<%
’调用GetRecordset函数取得一个Record set对象实F例,然后指派给变量objRS
Dim objRS
Set objRS=GetRecordset("Friend.mdb","data")
’将目前指针所指到的记录显示在浏览器上
If Not objRS.EOF Then
Response.Write "编号:"&objRS("编号")& "<BR>"
Response.Write "姓名:"&objRS("姓名")& "<BR>"
Response.Write "性别:"&objRS("性别")&"<BR>"
Else
Response.Write "到达数据库的结尾,已经显示完所有符合条件的记录"
End If
’关闭数据库连接并释放对象实例
ObjRS. Close
Set objRS=Nothing
ObjConn.Close
Set objConn=Nothing
%>
</BODY></HTML>
  因此,只要在这句代码Set objRS=GetRecordset("Friend.mdb", "data")中改变数据库名称和表名称就可以调用任何Access数据库文件了,当然,要注意的是,后面的数据库中每个表的字段名一定要匹配。
   (2)另外,无论换成哪个Access数据库,打开数据库连接与筛选表记录的步骤也是相同的,其中的变量在于SQL语句(如:"SELECT * FROM data")、数据库文件的名称及表的名称。因此同样道理,可以将这3个变量作为函数的参数,撰写GetSQLRecordset函数,并存成文件名为 ADOSQLFunctions. asp,日后要用到的话,只要在程序的最前面把这个文件Include进来,就可以利用GetSQLRecordset函数打开数据库连接,同时也进行筛选表记录,该函数的返回值是存放了符合SQL语句的Record set对象实例。
  代码如下:
<% 
Dim objConn
Dim GetSQLRecordset
Function GetSQLRecordset(strSQL,FileName,TableName)
’使用 ASP的Connection 对象打开数据库
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" &_
"Data Source=" & Server.MapPath("Filename")
objConn.Open
’从表读取符合SQL语句的记录并存放在Record set对象
Set GetSQLRecordset=Server.CreateObject("ADODB.Recordset")
GetSQLRecordset.Open_ strSQL,objConn,adOpenKeyset,adLockOptimistic,adCmdText
End Function
%>
  上述代码中函数名称为:GetSQLRecordset,文件名为ADOSQLFunctions. asp
  现在,利用该文件就可以调用任何Access数据库的连接,同时对表记录进行筛选的操作。以Friend.mdb文件为例,列出表data中所有的记录,程序代码如下:
<HTML><BODY>
<!--#include file="adovbs.inc"-->
<!--#include file="ADOSQLFunctions. asp"--> 
<%
Dim objRS
Set objRS=GetSQLRecordset("SELECT 编号,姓名,性别from_ data","Friend.mdb","data")
Do While Not objRS.EOF 
Response.Write "编号:"&objRS("编号")&"<BR>"
Response.Write "姓名:"&objRS("姓名")&"<BR>"
Response.Write "性别:"&objRS("性别")&"<BR>"
Loop
 objRS.Close
Set objRS=Nothing
ObjConn.Close
Set objConn=Nothing
%>
</BODY></HTML>
  小结
  在 ASP编程中,利用好函数往往可以对我们的程序代码简单明了化,读取条理也容易维护,同时也可避免大量的重复繁杂的代码。像上述的情况,若只是简单的与数据库连接,则用第一种情况,将文件ADORecordset. asp 装(include)进来就可以了,若要对数据库中某个表的记录进行筛选或其他SQL语句操作,则用第二种情况,将文件ADOSQLRecordset. asp装进来就可以了。


本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/354208,如需转载请自行联系原作者
相关文章
|
5月前
|
存储 关系型数据库 数据库
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
本文通过一个 Agentic RAG 应用的完整构建流程,展示了如何借助 RDS Supabase 快速搭建具备知识处理与智能决策能力的 AI 应用,展示从数据准备到应用部署的全流程,相较于传统开发模式效率大幅提升。
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
|
3月前
|
存储 JSON 数据建模
鸿蒙 HarmonyOS NEXT端云一体化开发-云数据库篇
云数据库采用存储区、对象类型、对象三级结构,支持灵活的数据建模与权限管理,可通过AGC平台或本地项目初始化,实现数据的增删改查及端侧高效调用。
168 1
|
5月前
|
存储 SQL 前端开发
跟老卫学HarmonyOS开发:ArkTS关系型数据库开发
本节以“账本”为例,使用关系型数据库接口实现账单的增、删、改、查操作。通过创建ArkTSRdb应用,演示如何操作RdbStore进行数据管理,并结合界面按钮实现交互功能。
211 0
跟老卫学HarmonyOS开发:ArkTS关系型数据库开发
|
7月前
|
存储 缓存 自然语言处理
评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
195 8
评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
|
6月前
|
存储 SQL Java
数据存储使用文件还是数据库,哪个更合适?
数据库和文件系统各有优劣:数据库读写性能较低、结构 rigid,但具备计算能力和数据一致性保障;文件系统灵活易管理、读写高效,但缺乏计算能力且无法保证一致性。针对仅需高效存储与灵活管理的场景,文件系统更优,但其计算短板可通过开源工具 SPL(Structured Process Language)弥补。SPL 提供独立计算语法及高性能文件格式(如集文件、组表),支持复杂计算与多源混合查询,甚至可替代数据仓库。此外,SPL 易集成、支持热切换,大幅提升开发运维效率,是后数据库时代文件存储的理想补充方案。
|
8月前
|
SQL 数据可视化 IDE
开发数据库不想写命令?YashanDB Developer Center 帮你轻松搞定
YashanDB Developer Center(YDC)是一款可视化的数据库开发工具,专为提升数据库开发效率而设计。它通过图形化对象管理让数据库对象清晰可见,提供智能SQL编辑器支持语法高亮与自动补全,实现PL调试的图形化操作,帮助快速定位问题。此外,操作记录可追溯,多端灵活部署,适配多种场景。无论是中大型企业研发团队,还是不熟悉命令行的业务开发者,YDC都能显著优化开发体验,堪称YashanDB的“可视化IDE”。
|
SQL Web App开发 JavaScript
使用VS Code开发asp.net core (下)
第一部分: https://www.cnblogs.com/cgzl/p/8450179.html 本文是基于Windows10的. Debugging javascript 打开wwwroot/js/site.
1767 0
|
前端开发 .NET 开发工具
使用VS Code开发asp.net core (上)
本文是基于Windows10的. 下载地址: https://code.visualstudio.com/ insider 版下载地址: https://code.visualstudio.com/insiders/ 这两个版本可以同时安装在系统中.
2956 0
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
442 0