数据库文件调用的技巧
(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
%>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器