当前位置: 主页->网页制作->ASP->利用ASP存取各种常用类型数据库
相关文章
主页计数器使用详解
在自己的电脑上调试CGI程序
 
 
 
 
 
 
 
 
 
 
 
 

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

http://www.yy0736.com 加入日期:2004.05.15 点击数:

查看:[大字体 中字体 小字体]

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

不同的数据库连接方法不一样(即建立Connection的实例方法不一样),一旦建立Connection实例完毕,利用Recordset对象进行存取数取数据的方法大同小异,下面对于不同的数据类型,编写了相对应的连接函数,其原型如下:

1)Function CreatMdbRecordset( 数据库/webpage/asp/aspsave1.htm, 数据表/webpage/asp/aspsave1.htm或Select语句 );建立Mdb类型的数据库对象

2)Function CreateSecuredMdbRecordset( 数据库/webpage/asp/aspsave1.htm,数据表/webpage/asp/aspsave1.htm或Select语句, 密码 );建立带密码的MDB类型的数据库对象;

3)Function CreateDbfRecordset(目录名, DBF/webpage/asp/aspsave1.htm或Select语句);建立DBF类型的数据库对象;

4)Function CreateDbcRecordset(DBC数据库/webpage/asp/aspsave1.htm, 数据表名或Select语句);建立DBC类型的数据库对象;

5)Function CreateExcelRecordset(XLS/webpage/asp/aspsave1.htm,Sheet名);建立Excel类型的数据库对象;

6)Function CreateSQLServerRecordset(计算机名称,用户ID, 用户密码,数据库名称 数据表或查看表或Select指令 );建立SQL Server 类型的数据库对象;

1)建立带密码的Mdb数据库的Recordset对象,它的建立方式与建立不带密码的Mdb数据库的Recordset对象类似,只是多了一个密码参数,即在与数据库连接时,必须给出密码信息。

Function CreateSecuredMdbRecordset( 数据库/webpage/asp/aspsave1.htm, 数据表名或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( "数据库/webpage/asp/aspsave1.htm" )
' 连接数据库,注意下面一行带有密码参数
conn.Open Provider & DBPath&”Jet OLEDB:Database Password=”&assword
Set CreateSecuredMdbRecordset = Server.CreateObject("ADODB.Recordset")
' 打开数据表,参数二为Connection对象
CreateSecuredMdbRecordset.Open "数据表名", conn, 2, 2

End Function

2)DBF文件不是一个标准的数据库文件,只相当于标准数据库文件中的一个数据表,所以为了使用DBF文件,采用把所有的DBF文件放在一个目录下,这样把目录名看成标准数据中的数据库表,每一个DBF文件相当于标准数据库的数据表。下面函数中Directory是DBF所在的目录名,

Function CreateDbfRecordset( 目录名, DBF/webpage/asp/aspsave1.htm或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/webpage/asp/aspsave1.htm或Select语句, conn, 2, 2

End Function

3)dbc
  DBPath = "SourceDB=" & Server.MapPath( "DBC数据库/webpage/asp/aspsave1.htm" )
  ‘ 连接数据库
  conn.Open Driver & SourceType & DBPath
  Set CreateDbcRecordset = Server.CreateObject("ADODB.Recordset")
  ‘ 打开数据表,参数二为Connection对象
  CreateDbcRecordset.Open "数据表名或Select语句", conn, 2, 2

  End Function

  4)将Excel97或Excel2000生成的XLS文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表。

  Function CreateExcelRecordset( XLS/webpage/asp/aspsave1.htm,Sheet名 )

  Dim conn.Driver,DBPath

  ‘ 建立Connection对象
  Set conn = Server.CreateObject("ADODB.Connection")
  Driver = "Driver={Microsoft Excel Driver (*.xls)};"
  DBPath = "DBQ=" & Server.MapPath( "XLS/webpage/asp/aspsave1.htm" )

  ‘ 调用Open 方法打开数据库
  conn.Open Driver & DBPath
  Set CreateExcelRecordset = Server.CreateObject("ADODB.Recordset")
  ‘ 打开Sheet,参数二为Connection对象,因为Excel ODBC驱动程序无法直接用‘sheet名来打开sheet,所以请注意以下的select语句(sheet1$/sheet2$/……)
  CreateExcelRecordset.Open "Select * From [sheet1$]”, conn, 2, 2

  End Function

  5)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数据库。

 

作者:佚名 转贴自:WangKe.com

   

上篇:ASP如何使用MYSQL数据库 下篇:不用Global.asa和session实现在线人数统计

共有评论: 查看全部评论


[发表评论]
[关闭窗口] [ ][TOP]