`
icyheart
  • 浏览: 785427 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • 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装进来就可以了。

分享到:
评论

相关推荐

    VB.NE程序设计

    2. **VB.NET+数据库编程学习捷径.pdf** - 这本书将重点放在使用VB.NET与数据库的集成上,可能包括ADO.NET的使用,如Dataset、DataTable、DataAdapter等,以及如何执行SQL查询、处理结果集、实现数据绑定和事务管理。...

    -DevExpress.ExpressForum.Library.v1.30

    使用DevExpress ExpressForum Library v1.30,开发者可以轻松地将论坛功能集成到自己的.NET应用中,例如ASP.NET或WinForms项目。通过API接口,开发者可以自定义界面、交互逻辑,实现与现有系统的无缝对接。 5. **...

    VB网络编程实例

    ◆ 171.htm 开发网络应用的5个技巧 ◆ 172.htm 利用RAS调用在VB6.0中实现拨号上网 ◆ 173.htm 利用VB提取HTML文件中的EMAIL地址 ◆ 174.htm 枚举出局域网上所有网络资源 ◆ 175.htm 面向...

    CodeSmith教程[CHM格式]

    讲解基本的语法结构,如变量、条件语句、循环、函数调用等,以及如何在模板中引用数据源。 3. **数据源连接**:了解如何配置和连接到不同的数据库,如SQL Server、Oracle、MySQL等,以及如何使用ADO.NET或Entity ...

    Art2008CMS 7.0 GBK.rar

    Art2008CMS是一款完全开源的程序,功能完善,覆盖面广、扩展性强、负载能力好、模板调用非常灵活、管理方便,因此不仅适合于建设一般企业、政府、学校、个人等小型网站,同时也适合于建设地方门户、行业门户等大中型...

    Art2008CMS 7.0 UTF-8.rar

    Art2008CMS是一款完全开源的程序,功能完善,覆盖面广、扩展性强、负载能力好、模板调用非常灵活、管理方便,因此不仅适合于建设一般企业、政府、学校、个人等小型网站,同时也适合于建设地方门户、行业门户等大中型...

    C#与.NET技术平台实战演练.part2

    本书将C#的特色与应用,借助实战演练的方式,阶段性地引导读者建置完整的应用程序,是您掌握新技术的最佳捷径。【图书目录】-C#与.NET技术平台实战演练PARTI基础语法篇第1章.NET概述1-1 软件开发结构的演进1-2 ...

    C#与.NET技术平台实战演练.part1

    本书将C#的特色与应用,借助实战演练的方式,阶段性地引导读者建置完整的应用程序,是您掌握新技术的最佳捷径。【图书目录】-C#与.NET技术平台实战演练PARTI基础语法篇第1章.NET概述1-1 软件开发结构的演进1-2 ...

Global site tag (gtag.js) - Google Analytics