在ASP中設(shè)置數(shù)據(jù)庫(kù)的方法
發(fā)表時(shí)間:2024-06-09 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]在ASP中,用來(lái)存取數(shù)據(jù)庫(kù)的對(duì)象統(tǒng)稱(chēng)ADO對(duì)象(ActiveDataObjects),主要含有三種對(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)查詢(xún)(ActionQu...
在ASP中,用來(lái)存取數(shù)據(jù)庫(kù)的對(duì)象統(tǒng)稱(chēng)ADO對(duì)象(ActiveDataObjects),主要含有三種對(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)查詢(xún)(ActionQuery)命令和執(zhí)行SQLServer的StoredProcedure。只依靠這三個(gè)對(duì)象還是無(wú)法存取數(shù)據(jù)庫(kù)的,還必須具有數(shù)據(jù)庫(kù)存取的驅(qū)動(dòng)程序:OLEDB驅(qū)動(dòng)程序和ODBC驅(qū)動(dòng)程序。對(duì)于任何一種數(shù)據(jù)庫(kù)都必須有相對(duì)應(yīng)的OLEDB驅(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=Provider=Microsoft.Jet.OLEDB.4.0;
DBPath = Data Source= & Server.MapPath(數(shù)據(jù)庫(kù)文件名)
打開(kāi)數(shù)據(jù)庫(kù)
Set CreateMdbRecordset=Server.CreateObject(ADODB.Recordset)
打開(kāi)數(shù)據(jù)表
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ù)
Set CreateSecuredMdbRecordset=Server.CreateObject(ADODB.Recordset)
打開(kāi)數(shù)據(jù)表
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ù)
Set CreateDbfRecordset=Server.CreateObject(ADODB.Recordset)
打開(kāi)DBF文件
EndFunction 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ù)
Set CreateDbcRecordset=Server.CreateObject(ADODB.Recordset)
打開(kāi)數(shù)據(jù)表
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ù)
Set CreateExcelRecordset=Server.CreateObject(ADODB.Recordset)
打開(kāi)Sheet
End Function
6.SQL Server屬于Server級(jí)的數(shù)據(jù)庫(kù),使用時(shí)要求比較嚴(yán)格,必須要輸入用戶(hù)名及密碼才能使用。
Function CreateSQLServerRecordset(計(jì)算機(jī)名稱(chēng),用戶(hù)ID,用戶(hù)密碼,數(shù)據(jù)庫(kù)名稱(chēng)數(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ù)名稱(chēng)
Conn open Paras
Set CreateSQLServerRecordset = Server.
CreateObject(ADODB.Recordset)
End Function