最新文章
·可以的阿,为什么就不...
·用纯ASP代码实现图片...
·以前收集的一些资料--...
·DateDiff 函数 祥解
·一个简单的bbs(五)
·DropDownList 控件 Da...
·负载平衡环境下的ASP...
·半角<=>全角互...
·SQL Server性能分析参...
·天极微软专区——微软...
·以前收集的一些资料--...
·管理会话(转自IIS5.0...
相关文章
·初级教程之SQL Inject...
·ASP网络安全手册(1)
·把数据插入到数据库的...
·巧用in关键字实现数据...
·改进 ASP 的字符串处...
·一些ASP小源程序
·面向对象软件开发的十...
·客户端CGI——结合jav...
·Javascript实现浏览器...
·用ASP编写网络传呼机
·把NT 4.0下的ASP应用...
·用ASP、VB和XML建立互...
推荐文章
·Url ReWriting 示例
·Asp中关于Global.asa...
·DataGrid的列操作个人...
·一段递归生成类似Wind...
·用划界字符列表来得到...
·基于ACCESS数据库的纯...
·自己开发的email组件...
·使用ASP加密算法加密...
·做一个简单的访问来源...
·哈哈写了个新的二文件...
·不能ASP图像组件来生...
·ASP 3.0高级编程(四...
  您现在的位置: 休闲居 >> 网络学院 >> 网络编程 >> ASP >> 

在ASP中连接数据库(连接字符串)
  人气: 【字体:大 中 小】
  发布时间:2007-03-14 08:28:27

一、存取数据库的原理

在ASP中,用来存取数据库的对象统称ADO对象(Active Data Objects),主要含有三种对象:Connection、Recordset和Command,其中Connection负责打开或连接数据库,Recordset负责存取数据表,Command负责对数据库执行行动查询(Action Query)命令和执行SQL Server的Stored Procedure。只依靠这三个对象还是无法存取数据库的,还必须具有数据库存取的驱动程序:OLE DB驱动程序和ODBC驱动程序。对于任何一种数据库都必须有相对应的OLE DB驱动程序和ODBC驱动程序,ADO对象才能对数据库进行存取。
休闲 居编 辑
ADO对象必须与各种驱动程序相结合才能存取各种类型数据库,不同的数据库需要不同的驱动程序。在Windows 9x/NT的“开始”→“设置”→“控制面板” →“ODBC Data Source(32Bit)”中的“驱动程序”标签页,可以查证机器上究竟装了哪些驱动程序。

二、连接数据库和打开数据表

不同数据库的连接方法有所不同(即建立Connection实例的方法不一样),但建立Connection实例后,利用Recordset对象进行存取数据的方法却大同小异。下面对于不同的数据类型,编写了相对应的连接函数,在程序中直接引用即可。

程序用VB Script脚本语言编写。

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”)
  ’打开数据表
  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=Microsof.Jet.OLEDB.4.0;”
 DBPath = “Data Source=”& Server.MapPath(“数据库文件名”)
 ’连接数据库,注意要带有密码参数
 conn.Open Provider & DBPath&“Jet OLEDB:Database Password=”&assword
 Set CreateSecuredMdbRecordset = Server.
 CreateObject(“ADODB.Recordset”)
 ’打开数据表
 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 FoxProDriver};” SourceType = “SourceType=DBF;”
 DBPath=“SourceDB=” & Server.MapPath(“目录名”)
 ’调用Open 方法打开数据库
 conn.Open Driver & SourceType & DBPath
 Set CreateDbfRecordset = Server.CreateObject(“ADODB.Recordset”)
 ’打开DBF文件
 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”)
 ’打开数据表
 CreateDbcRecordset.Open“数据表名或Select语句”, conn, 2, 2
End Function

5.将Excel生成的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
 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

≡ 查看、发表评论 ≡