ASP开发中数据库文件调用的捷径
程序员文章站
2022-03-25 20:21:17
引言 本文针对asp程序设计中最基础、也是最关键的部分"数据库文件的调用"进行说明,同时谈谈asp程序设计中数据库文件调用的一些技巧。 as...
引言
本文针对asp程序设计中最基础、也是最关键的部分"数据库文件的调用"进行说明,同时谈谈asp程序设计中数据库文件调用的一些技巧。
asp简介
asp(active server pages)是微软于1996年推出的web应用程序开发技术,它是一种脚本语言、activex组件及html语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生成和运行动态的、交互的、高性能的web服务器应用程序"。其主要功能是为生成动态的、交互式的web服务器应用程序提供一种功能强大的方式或技术。其特点是命令和脚本都在服务器中解释执行,然后送到客户端浏览器的内容只是标准的html页面。其优点是程序设计简单易懂,而且方便快捷。asp在国内的应用已非常普遍,相当一部分的动态网站都运用了asp技术。
asp数据库文件的调用
虽然不同的系统可能安装不同的数据库驱动程序,但一般的服务器系统都基本支持iis4.0/5.0,所以服务器系统上至少会有microsoft access driver、microsoft odbc for oracle、sql server等3种数据库驱动程序。因此,服务器系统至少可以使用access、oracle、sql server等3种数据库来从事asp网页数据库设计。由于microsoft access 97/2000属于微软的office系列之一,且界面和office系列软件相似,学习起来基本没什么障碍,因此,本文将从初学者入门的角度,使用access数据库文件来进行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装进来就可以了。
本文针对asp程序设计中最基础、也是最关键的部分"数据库文件的调用"进行说明,同时谈谈asp程序设计中数据库文件调用的一些技巧。
asp简介
asp(active server pages)是微软于1996年推出的web应用程序开发技术,它是一种脚本语言、activex组件及html语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生成和运行动态的、交互的、高性能的web服务器应用程序"。其主要功能是为生成动态的、交互式的web服务器应用程序提供一种功能强大的方式或技术。其特点是命令和脚本都在服务器中解释执行,然后送到客户端浏览器的内容只是标准的html页面。其优点是程序设计简单易懂,而且方便快捷。asp在国内的应用已非常普遍,相当一部分的动态网站都运用了asp技术。
asp数据库文件的调用
虽然不同的系统可能安装不同的数据库驱动程序,但一般的服务器系统都基本支持iis4.0/5.0,所以服务器系统上至少会有microsoft access driver、microsoft odbc for oracle、sql server等3种数据库驱动程序。因此,服务器系统至少可以使用access、oracle、sql server等3种数据库来从事asp网页数据库设计。由于microsoft access 97/2000属于微软的office系列之一,且界面和office系列软件相似,学习起来基本没什么障碍,因此,本文将从初学者入门的角度,使用access数据库文件来进行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装进来就可以了。