域名頻道-專(zhuān)業(yè)提供域名注冊(cè),網(wǎng)站空間,集團(tuán)郵局等服務(wù)
    [ ICP備案專(zhuān)題 ]  
 
首頁(yè) 域名注冊(cè) 虛擬主機(jī) 海外主機(jī) VPS主機(jī) 網(wǎng)店主機(jī) 集團(tuán)郵局 應(yīng)用服務(wù) 網(wǎng)站建設(shè) 軟件開(kāi)發(fā) 客戶中心
如何設(shè)置Outlook
 
Outlook設(shè)置演示
如何設(shè)置Foxmail
 
Foxmail設(shè)置演示
CuteFtp的使用方法
 
CuteFTP設(shè)置演示
PASV 模式設(shè)置演示
FlashFXP設(shè)置演示
FlashFXP(中文)演示
數(shù)據(jù)庫(kù)連接
 
連接SQL Server數(shù)據(jù)庫(kù)
Mysql數(shù)據(jù)庫(kù)管理方法
虛擬主機(jī)使用注意事項(xiàng)
 
使用php注意事項(xiàng)
使用jsp注意事項(xiàng)
使用servlet注意事項(xiàng)
使用perl注意事項(xiàng)
使用jmail注意事項(xiàng)
使用upload注意事項(xiàng)
使用fso注意事項(xiàng)
ASP實(shí)現(xiàn) URL 轉(zhuǎn)發(fā)
如何進(jìn)行網(wǎng)站備案
   
  當(dāng)前位置:首頁(yè) > 幫助信息 > 關(guān)于數(shù)據(jù)庫(kù)連接
 
在ASP中操作數(shù)據(jù)庫(kù)的方法

如果用戶在網(wǎng)站連接access數(shù)據(jù)庫(kù)時(shí)出現(xiàn)錯(cuò)誤(未發(fā)現(xiàn)數(shù)據(jù)源或驅(qū)動(dòng)程序),請(qǐng)改用以下連接串連接數(shù)據(jù)庫(kù)。

conn.Open "driver={microsoft access driver (*.mdb)};dbq=" & Server.MapPath("數(shù)據(jù)庫(kù)名.mdb")

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=數(shù)據(jù)庫(kù)密碼;Data Source=" & Server.MapPath("數(shù)據(jù)庫(kù)名.mdb")

存取數(shù)據(jù)庫(kù)的原理

在ASP中,用來(lái)存取數(shù)據(jù)庫(kù)的對(duì)象統(tǒng)稱ADO對(duì)象(Active Data Objects),主要含有三種對(duì)象:Connection、Recordset和Command,其中Connection負(fù)責(zé)打開(kāi)或連接數(shù)據(jù)庫(kù),Recordset負(fù)責(zé)存取數(shù)據(jù)表,Command負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)執(zhí)行行動(dòng)查詢(Action Query)命令和執(zhí)行SQL Server的Stored Procedure。只依靠這三個(gè)對(duì)象還是無(wú)法存取數(shù)據(jù)庫(kù)的,還必須具有數(shù)據(jù)庫(kù)存取的驅(qū)動(dòng)程序:OLE DB驅(qū)動(dòng)程序和ODBC驅(qū)動(dòng)程序。對(duì)于任何一種數(shù)據(jù)庫(kù)都必須有相對(duì)應(yīng)的OLE DB驅(qū)動(dòng)程序和ODBC驅(qū)動(dòng)程序,ADO對(duì)象才能對(duì)數(shù)據(jù)庫(kù)進(jìn)行存取。

連接數(shù)據(jù)庫(kù)和打開(kāi)數(shù)據(jù)表
不同數(shù)據(jù)庫(kù)的連接方法有所不同(即建立Connection實(shí)例的方法不一樣),但建立Connection實(shí)例后,利用Recordset對(duì)象進(jìn)行存取數(shù)據(jù)的方法卻大同小異。下面對(duì)于不同的數(shù)據(jù)類(lèi)型,編寫(xiě)了相對(duì)應(yīng)的連接函數(shù),在程序中直接引用即可。

程序用VB Script腳本語(yǔ)言編寫(xiě)。

1. 建立MdbRecordset對(duì)象。MDB數(shù)據(jù)庫(kù)是一個(gè)完整的數(shù)據(jù)庫(kù),內(nèi)部可能含有若干個(gè)數(shù)據(jù)表,在此函數(shù)中,Connection的作用是連接數(shù)據(jù)庫(kù),Recordset的作用是打開(kāi)數(shù)據(jù)表。
Function CreateMdbRecordset(數(shù)據(jù)庫(kù)文件名, 數(shù)據(jù)表名或Select語(yǔ)句 )
  Dim conn,Provider,DBPath
  ’建立Connection 對(duì)象
Set conn = Server.CreateObject
(“ADODB.Connection”)
  Provider=“driver={microsoft access driver (*.mdb)};”
  DBPath = “dbq=” & Server.MapPath(“數(shù)據(jù)庫(kù)文件名”)
  ’打開(kāi)數(shù)據(jù)庫(kù)
  conn.Open Provider & DBPath
  Set CreateMdbRecordset = Server.CreateObject(“ADODB.Recordset”)
  ’打開(kāi)數(shù)據(jù)表
  CreateMdbRecordset.Open “數(shù)據(jù)表名”, conn, 2, 2
  End Function

2. 建立帶密碼的MDB數(shù)據(jù)庫(kù)的Recordset對(duì)象。它的建立方式與建立不帶密碼的MDB數(shù)據(jù)庫(kù)的Recordset對(duì)象類(lèi)似,只是多了一個(gè)密碼參數(shù),即在與數(shù)據(jù)庫(kù)連接時(shí),必須給出密碼信息。
Function CreateSecuredMdbRecordset( 數(shù)據(jù)庫(kù)文件名, 數(shù)據(jù)表名或Select語(yǔ)句,password )
Dim conn,Provider,DBPath
’建立Connection 對(duì)象
Set conn = Server.CreateObject
(“ADODB.Connection”)
Provider = “Provider=Microsof.Jet.OLEDB.4.0;”
DBPath = “Data Source=”& Server.MapPath(“數(shù)據(jù)庫(kù)文件名”)
’連接數(shù)據(jù)庫(kù),注意要帶有密碼參數(shù)
conn.Open Provider & DBPath&“Jet OLEDB:Database Password=”&assword
Set CreateSecuredMdbRecordset = Server.
CreateObject(“ADODB.Recordset”)
’打開(kāi)數(shù)據(jù)表
CreateSecuredMdbRecordset.Open “數(shù)據(jù)表名”, conn, 2, 2
End Function

3.DBF文件不是一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)文件,只相當(dāng)于標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)文件中的一個(gè)數(shù)據(jù)表,所以為了使用DBF文件,可以把所有的DBF文件放在一個(gè)目錄下,這樣把目錄名看成標(biāo)準(zhǔn)數(shù)據(jù)庫(kù),每一個(gè)DBF文件相當(dāng)于標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表。下面函數(shù)中的Directory是DBF所在的目錄名。
Function CreateDbfRecordset( 目錄名, DBF文件名或Select語(yǔ)句 )
Dim conn,Driver,SourceType,DBPath
’建立Connection 對(duì)象
Set conn = Server.CreateObject
(“ADODB.Connection”)
Driver=“Driver={Microsoft Visual FoxProDriver};” SourceType = “SourceType=DBF;”
DBPath=“SourceDB=” & Server.MapPath(“目錄名”)
’調(diào)用Open 方法打開(kāi)數(shù)據(jù)庫(kù)
conn.Open Driver & SourceType & DBPath
Set CreateDbfRecordset = Server.CreateObject(“ADODB.Recordset”)
’打開(kāi)DBF文件
CreateDbfRecordset.Open “DBF文件名或Select語(yǔ)句”, conn, 2, 2
End Function

4. 由FoxPro生成的DBC數(shù)據(jù)庫(kù)與MDB數(shù)據(jù)庫(kù)相似,都是一個(gè)數(shù)據(jù)庫(kù)包含幾個(gè)數(shù)據(jù)表的形式,所以對(duì)DBC數(shù)據(jù)庫(kù)的存取方法與MDB數(shù)據(jù)庫(kù)相似。
Function CreateDbcRecordset( DBC數(shù)據(jù)庫(kù)文件名, 數(shù)據(jù)表名或Select語(yǔ)句 )
Dim conn,Driver,SourceType,DBPath
’建立Connection 對(duì)象
Set conn = Server.CreateObject
(“ADODB.Connection”)
Driver=“Driver={Microsoft Visual FoxPro Driver};”
SourceType = “SourceType=DBC;”
DBPath = “SourceDB=” & Server.MapPath(“DBC數(shù)據(jù)庫(kù)文件名”)
’連接數(shù)據(jù)庫(kù)
conn.Open Driver & SourceType & DBPath
Set CreateDbcRecordset = Server.CreateObject(“ADODB.Recordset”)
’打開(kāi)數(shù)據(jù)表
CreateDbcRecordset.Open“數(shù)據(jù)表名或Select語(yǔ)句”, conn, 2, 2
End Function

5. 將Excel生成的XLS文件(book)看成一個(gè)數(shù)據(jù)庫(kù),其中的每一個(gè)工作表(sheet)看成一個(gè)數(shù)據(jù)庫(kù)表。
Function CreateExcelRecordset(XLS文件名,Sheet名)
Dim conn.Driver,DBPath
’建立Connection對(duì)象
Set conn = Server.CreateObject
(“ADODB.Connection”)
Driver=“Driver={Microsoft Excel Driver (*.xls)};”
DBPath = “DBQ=” & Server.MapPath(“XLS文件名”)
’調(diào)用Open 方法打開(kāi)數(shù)據(jù)庫(kù)
conn.Open Driver & DBPath
Set CreateExcelRecordset = Server.CreateObject(“ADODB.Recordset”)
’打開(kāi)Sheet
CreateExcelRecordset.Open “Select * From [”&sheet&“$]”, conn, 2, 2
End Function

6.SQL Server屬于Server級(jí)的數(shù)據(jù)庫(kù),使用時(shí)要求比較嚴(yán)格,必須要輸入用戶名及密碼才能使用。
Function CreateSQLServerRecordset(計(jì)算機(jī)名稱,用戶ID, 用戶密碼,數(shù)據(jù)庫(kù)名稱 數(shù)據(jù)表或查看表或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=”&數(shù)據(jù)庫(kù)名稱
Conn open Paras
Set CreateSQLServerRecordset = Server.
CreateObject(“ADODB.Recordset")
CreateSQLServerRecordset.Open source, conn, 2, 2
End Function

 

 
 
關(guān)于我們 聯(lián)系方式 付款事宜 價(jià)格總覽 代理專(zhuān)區(qū) 網(wǎng)站地圖 虛擬主機(jī) 法律顧問(wèn) 常見(jiàn)問(wèn)題 友情鏈接

Copyright 2000-2013  域名頻道(m.chouwenlao.cn) 版權(quán)所有
地址:上海市松江區(qū)榮樂(lè)東路2369弄18號(hào) 郵編:201620
客服電話: 021-67899136  值班電話:17317360079 傳真: 轉(zhuǎn)分機(jī)805
在線QQ咨詢:219854 QQ交流  714658643 QQ交流  MSN:chenlh@dns110.com   Email:support@dns110.com