加速ASP程序的显示速度
用ASP编写网络传呼机
用ASP做全文检索
连接数据库的ASP树图生成程序(源码)
用ASP进行网络打印功能
三种禁用FileSystemObject组件的方法
MD5算法研究
黑客案例--浏览器执行exe文件的探讨
ASP、IIS的安全漏洞
堵住ASP漏洞 
页面导航:
正文内容:三、程序清单
以下程序用vbscript编写
1)建立mdbrecordset对象,mdb数据库是一个完整的数据库,内部可能含有若干个数据表,在此函数中,connection的作用是连接数据库,recordset的作用是打开数据表。
function createmdbrecordset(数据库文件名, 数据表名或select语句 )
dim conn,provider,dbpath
建立connection 对象
set conn = server.createobject("adodb.connection")
provider = "provider=microsoft.jet.oledb.4.0;"
dbpath = "data source=" & server.mappath( "数据库文件名" )
打开数据库
conn.open provider & dbpath
set createmdbrecordset = server.createobject("adodb.recordset")
打开数据表,参数二为connection对象
createmdbrecordset.open "数据表名", conn, 2, 2
end function
2)建立带密码的mdb数据库的recordset对象,它的建立方式与建立不带密码的mdb数据库的recordset对象类似,只是多了一个密码参数,即在与数据库连接时,必须给出密码信息。
function createsecuredmdbrecordset( 数据库文件名, 数据表名或select语句,password )
dim conn,provider,dbpath
建立connection 对象
set conn = server.createobject("adodb.connection")
provider = "provider=microsoft.jet.oledb.4.0;"
dbpath = "data source=" & server.mappath( "数据库文件名" )
连接数据库,注意下面一行带有密码参数
conn.open provider & dbpath&”jet oledb:database password=”&assword
set createsecuredmdbrecordset = server.createobject("adodb.recordset")
打开数据表,参数二为connection对象
createsecuredmdbrecordset.open "数据表名", conn, 2, 2
end function
3)dbf文件不是一个标准的数据库文件,只相当于标准数据库文件中的一个数据表,所以为了使用dbf文件,采用把所有的dbf文件放在一个目录下,这样把目录名看成标准数据中的数据库表,每一个dbf文件相当于标准数据库的数据表。下面函数中directory是dbf所在的目录名,
function createdbfrecordset( 目录名, dbf文件名或select语句 )
dim conn,driver,sourcetype,dbpath
建立connection 对象
set conn = server.createobject("adodb.connection")
driver = "driver={microsoft visual foxpro driver};"
sourcetype = "sourcetype=dbf;"
dbpath = "sourcedb=" & server.mappath( "目录名" )
调用open 方法打开数据库
conn.open driver & sourcetype & dbpath
set createdbfrecordset = server.createobject("adodb.recordset")
打开dbf文件,参数二为connection对象
createdbfrecordset.open dbf文件名或select语句, conn, 2, 2
end function
4)由foxpro生成的dbc数据库与mdb数据库相似,都是一个数据库包含几个数据表的形式,所以对dbc数据库的存取方法与mdb数据库相似。
function createdbcrecordset( dbc数据库文件名, 数据表名或select语句 )
dim conn,driver,sourcetype,dbpath
建立connection 对象
set conn = server.createobject("adodb.connection")
driver = "driver={microsoft visual foxpro driver};"
sourcetype = "sourcetype=dbc;"
dbpath = "sourcedb=" & server.mappath( "dbc数据库文件名" )
连接数据库
conn.open driver & sourcetype & dbpath
set createdbcrecordset = server.createobject("adodb.recordset")
打开数据表,参数二为connection对象
createdbcrecordset.open "数据表名或select语句", conn, 2, 2
end function
5)将excel97或excel2000生成的xls文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表。
function createexcelrecordset( xls文件名,sheet名 )
dim conn.driver,dbpath
建立connection对象
set conn = server.createobject("adodb.connection")
driver = "driver={microsoft excel driver (*.xls)};"
dbpath = "dbq=" & server.mappath( "xls文件名" )
调用open 方法打开数据库
conn.open driver & dbpath
set createexcelrecordset = server.createobject("adodb.recordset")
打开sheet,参数二为connection对象,因为excel odbc驱动程序无法直接用sheet名来打开sheet,所以请注意以下的select语句
createexcelrecordset.open "select * from ["&sheet&”$]”, conn, 2, 2
end function
6)sql server属于server级的数据库,使用时要求比较严格,必须要求输入用户名及密码才能使用。
function createsqlserverrecordset(计算机名称,用户id, 用户密码,数据库名称 数据表或查看表或select指令 )
dim params, conn
set creatsqlserverconnection = nothing
set conn = server.createobject("adodb.connection")
params = "provider=sqloledb.1"
params = params & ";data source=" & computer
params = params & ";user id=" & userid
params = params & ";password=" & password
params = params & ".initial catalog="&数据库名称
conn open paras
set createsqlserverrecordset = server.createobject("adodb.recordset")
createsqlserverrecordset.open source, conn, 2, 2
end function
利用上面的函数就可以打开常用类型的数据库,然后利用ado的recordset对象的增加记录、删除记录、修改记录等功能就可以对数据库进行操作。但是要说明的是,在实际开发中我们发现,如果使用dbf、dbc、excel数据库,执行效率没有mdb数据库效率高,最好尽可能用mdb类型数据库。
如果用用dbf、dbc、excel数据库,下面几点要注意:excel数据库只能读取、增加记录、修改记录,但不能删除记录;dbf、dbc<可以读取记录、增加记录、删除记录、修改记录,但是在增加记录时,任何一个字段值都不能为空,由此可看出局限性很大,所以尽可能地用mdb或sql数据库。