利用ASP存取各种常用类型数据库(2)

发布时间:2008-08-23 20:24:36 阅读次数:

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数据库。   四、实例(存取Excel数据表)   为了更进一步说明这些函数的用法,本文给出一个存取Excel数据表的例子,其它函数的存取方法与此类似。假设有一个如图2的名为1.xls的Excel文件, 含有三个工作表一班、二班、三班。下面得用上面的函数存取工作表“一班”的数据。   图2   编写ASP文件(文件名为1.asp)存取此Excel中文件。   利用IE和PWS(Personal Web Server)后浏览结果如图3:       图3