|
|
三、程序清单
'以下程序用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数据库。 |
|