999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ASP下的常用數(shù)據(jù)庫存取技術(shù)的實現(xiàn)

2008-12-31 00:00:00
電腦知識與技術(shù) 2008年35期

摘要:該文討論利ASP下存取DBF、DBC、MDB、Excel、SQL Server類型數(shù)據(jù)的方法及函數(shù)實現(xiàn),對企事業(yè)數(shù)據(jù)重用及共享具有很強(qiáng)的實際意義。

關(guān)鍵詞:數(shù)據(jù)庫;ASP;DBF;DBC

中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)35-2398-02

Realization of the Common Type Database Access Based on ASP

MA Jing

(Graphic Information Center,Nanjing College of Information Technolegy,Nanjing 210046,China)

Abstract: In this paper we discuss how we can use ASP to acess the common type database such as DBF,DBC,MDB,Excel,SQL Server and so on,which is practical to enterprise in data-sharing and data-reuse.

Key words: database; ASP; DBF; DBC

如今各個網(wǎng)站上留言板、討論組、網(wǎng)上投票、網(wǎng)上調(diào)查、聊天室等功能模塊隨處可見,這些程序都是利用ASP與數(shù)據(jù)庫技術(shù)結(jié)合而實現(xiàn)的。在網(wǎng)頁上用的數(shù)據(jù)庫大都是mdb數(shù)據(jù)庫或SQL數(shù)據(jù)庫,但是在Intranet網(wǎng)中,各種版本的數(shù)據(jù)庫已存在,如DBF、DBC、Excel、文本數(shù)據(jù)庫,這些數(shù)據(jù)庫是由應(yīng)用軟件如辦公自動化系統(tǒng)、財務(wù)軟件等所生成,如果ASP能直接利用這些類型數(shù)據(jù)庫,就不需要重新建立數(shù)據(jù)庫,進(jìn)一步實現(xiàn)企業(yè)數(shù)據(jù)共享。

1 ASP的對象存取數(shù)據(jù)庫方法

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

ADO對象必須與各種驅(qū)動程序結(jié)合才能存取各種類型數(shù)據(jù)庫,不同的數(shù)據(jù)庫需要不同的驅(qū)動程序。究竟機(jī)器上已安裝哪些驅(qū)動程序呢?可通過如下的方法來驗證:WindowsXP或NT的“開始”→“設(shè)置”→“控制面板”→“ODBC Data Source(32Bit)”中的“驅(qū)動程序”標(biāo)簽頁查證我們的機(jī)器上究竟裝了哪些驅(qū)動程序。大致有如下表所列的驅(qū)動程序:

Microsoft.Jet.OLEDB.4.0 Mdb;

Microsoft Access Driver Access;

Microsoft dBase Driver Dbase;

Microsoft Excel Driver Excel;

Microsoft Visual FoxPro Driver Dbc ;

SQLOLEDB.1 SQL Server7.0。

2 連接數(shù)據(jù)庫和打開數(shù)據(jù)表

不同的數(shù)據(jù)庫連接方法不一樣(即Connection的實例方法不一樣),一旦建立Connection實例完畢,利用Recordset對象進(jìn)行存取數(shù)取數(shù)據(jù)的方法大同小異,下面對于不同的數(shù)據(jù)類型,編寫了相對應(yīng)的連接函數(shù),其原型如下:

1) Function CreatMdbRecordset( 數(shù)據(jù)庫文件名,數(shù)據(jù)表文件名或Select語句);建立Mdb類型的數(shù)據(jù)庫對象

2) Function CreateSecuredMdbRecordset(數(shù)據(jù)庫文件名,數(shù)據(jù)表文件名或Select語句,密碼);建立帶密碼的MDB類型的數(shù)據(jù)庫對象;

3) Function CreateDbfRecordset(目錄名, DBF文件名或Select語句);建立DBF類型的數(shù)據(jù)庫對象;

4) Function CreateDbcRecordset(DBC數(shù)據(jù)庫文件名,數(shù)據(jù)表名或Select語句);建立DBC類型的數(shù)據(jù)庫對象;

5) Function CreateExcelRecordset(XLS文件名,Sheet名);建立Excel類型的數(shù)據(jù)庫對象;

6) Function CreateSQLServerRecordset(計算機(jī)名稱,用戶ID,用戶密碼,數(shù)據(jù)庫名稱,數(shù)據(jù)表或查看表或Select指令);建立SQL Server 類型的數(shù)據(jù)庫對象;

3 程序清單

1) 建立帶密碼的Mdb數(shù)據(jù)庫的Recordset對象。

它的建立方式與建立不帶密碼的Mdb數(shù)據(jù)庫的Recordset對象類似,只是多了一個密碼參數(shù),即在與數(shù)據(jù)庫連接時,必須給出密碼信息。

Function CreateSecuredMdbRecordset(數(shù)據(jù)庫/ 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( \"數(shù)據(jù)庫/asp/aspsave1.htm\" )

’ 連接數(shù)據(jù)庫,注意下面一行帶有密碼參數(shù)

conn.Open Provider DBPath”Jet OLEDB:Database Password=”assword

Set CreateSecuredMdbRecordset = Server.CreateObject(\"ADODB.Recordset\")

’ 打開數(shù)據(jù)表,參數(shù)二為Connection對象

CreateSecuredMdbRecordset.Open \"表名\", conn,2, 2

End Function

2) DBF文件不是一個標(biāo)準(zhǔn)的數(shù)據(jù)庫文件,只相當(dāng)于標(biāo)準(zhǔn)數(shù)據(jù)庫文件中的一個數(shù)據(jù)表,所以為了使用DBF文件,采用把所有的DBF文件放在一個目錄下,這樣把目錄名看成標(biāo)準(zhǔn)數(shù)據(jù)中的數(shù)據(jù)庫表,每一個DBF文件相當(dāng)于標(biāo)準(zhǔn)數(shù)據(jù)庫的數(shù)據(jù)表。下面函數(shù)中Directory是DBF所在的目錄名。

Function CreateDbfRecordset( 目錄名, DBF/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( \"目錄名\" )

’ 調(diào)用Open 方法打開數(shù)據(jù)庫

conn.Open Driver SourceType DBPath

Set CreateDbfRecordset =

Server.CreateObject(\"ADODB.Recordset\")

’ 打開DBF文件,參數(shù)二為Connection對象

CreateDbfRecordset.Open

DBF/asp/aspsave1.htm或Select語句,conn, 2,2

End Function

3)dbc文件的存取實現(xiàn)

DBPath=\"SourceDB=\" Server.MapPath( \"DBC數(shù)據(jù)庫/ asp/aspsave1.htm\")

’ 連接數(shù)據(jù)庫

conn.Open Driver SourceType DBPath

Set CreateDbcRecordset = Server.CreateObject(\"ADODB.Recordset\")

’ 打開數(shù)據(jù)表,參數(shù)二為Connection對象

CreateDbcRecordset.Open \"表名或Select語句\", conn,2,2

End Function

4) 將Excel97或Excel2000生成的XLS文件(book)看成一個數(shù)據(jù)庫,其中的每一個工作表(sheet)看成數(shù)據(jù)庫表。

Function CreateExcelRecordset( XLS/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/asp/aspsave1.htm\")

’ 調(diào)用Open 方法打開數(shù)據(jù)庫

conn.Open Driver DBPath

Set CreateExcelRecordset =Server.CreateObject(\"ADODB.Recordset\")

’ 打開Sheet,參數(shù)2為Connection對象,因為Excel

’ ODBC驅(qū)動程序無法直接用sheet名來打開sheet,所

’ 以請注意以下的select語句:

CreateExcelRecordset.Open \"Select * From [sheet1$]”, conn, 2, 2

End Function

5)SQL Server屬于Server級的數(shù)據(jù)庫,使用時要求比較嚴(yán)格,必須要求輸入用戶名及密碼才能使用。

Function CreateSQLServerRecordset(計算機(jī)名稱,用戶ID,用戶密碼,數(shù)據(jù)庫名數(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ù)庫名稱

Conn open Paras

Set CreateSQLServerRecordset = Server.CreateObject(\"ADODB.Recordset\")

CreateSQLServerRecordset.Open source,conn,2,2

End Function

4 結(jié)論

利用上面的函數(shù)就可以打開常用類型的數(shù)據(jù)庫,然后利用ADO的Recordset對象的增加記錄、刪除記錄、修改記錄等功能就可以對數(shù)據(jù)庫進(jìn)行操作。但在實際開發(fā)中我們發(fā)現(xiàn),如果使用DBF、DBC、Excel數(shù)據(jù)庫,執(zhí)行效率沒有MDB數(shù)據(jù)庫效率高,最好盡可能用MDB類型數(shù)據(jù)庫。

如果用DBF、DBC、Excel數(shù)據(jù)庫,需要注意的是:Excel數(shù)據(jù)庫只能讀取、增加記錄、修改記錄,但不能刪除記錄;DBF、DBC可以讀取記錄、增加記錄、刪除記錄、修改記錄,但是在增加記錄時,任何一個字段值都不能為空,由此可見局限性較大,所以應(yīng)盡可能地用MDB或SQL數(shù)據(jù)庫。

參考文獻(xiàn):

[1] 藏楊.ASP軟件工程案例精解[M].電子工業(yè)出版社,2004:75-102,201-223.

[2] 鄭有,胡紅一,楊志崧.基于ASP的專家咨詢系統(tǒng)[J].現(xiàn)代情報,2006,26(7):65-66.

[3] 諶愛文,施榮華.ASP+Access的安全性研究[J].微電子學(xué)與計算機(jī),2006,23(6):106-108.

[4] 王蕾,李培峰,楊李文.基于ASP.NET的Web應(yīng)用系統(tǒng)架構(gòu)探討[J].計算機(jī)技術(shù)與發(fā)展,2006,16(7):55-56,60.

主站蜘蛛池模板: 免费激情网址| 久久婷婷人人澡人人爱91| 国产欧美成人不卡视频| 人妖无码第一页| 日韩午夜片| 久久semm亚洲国产| 欧美日韩精品在线播放| 国产亚洲高清在线精品99| 老司国产精品视频| 永久在线精品免费视频观看| 狠狠干欧美| 91在线精品免费免费播放| 精品福利视频导航| 国产精欧美一区二区三区| 国产成人艳妇AA视频在线| 波多野结衣二区| 麻豆精品在线播放| 国内精品九九久久久精品| 国产又黄又硬又粗| 国产成人91精品| 国产成人AV大片大片在线播放 | 爆操波多野结衣| 伊人久久精品无码麻豆精品| 亚洲天堂区| 成AV人片一区二区三区久久| 网久久综合| 91久久天天躁狠狠躁夜夜| 国产丝袜无码精品| 欧美黑人欧美精品刺激| 久久精品人妻中文视频| 在线观看91香蕉国产免费| 色综合天天操| 亚洲综合色吧| 亚洲第一视频网站| 国产精品专区第一页在线观看| 91成人免费观看在线观看| 国产精品 欧美激情 在线播放| 秋霞午夜国产精品成人片| 久久五月视频| 老司机午夜精品网站在线观看| 国产全黄a一级毛片| 亚洲欧美一区二区三区麻豆| 一级毛片免费不卡在线视频| 久久人妻系列无码一区| 欧美另类图片视频无弹跳第一页| 一本大道香蕉久中文在线播放| 欧美a级完整在线观看| 亚洲精品国产成人7777| 在线欧美一区| 国产91麻豆免费观看| 久久国产精品影院| 99人妻碰碰碰久久久久禁片 | 久久综合婷婷| 成年女人a毛片免费视频| 扒开粉嫩的小缝隙喷白浆视频| 国产在线观看精品| 午夜国产在线观看| 萌白酱国产一区二区| 精品小视频在线观看| 国产真实乱了在线播放| 国产在线98福利播放视频免费| 天堂亚洲网| 国产视频久久久久| 亚洲成A人V欧美综合| 国产精品亚欧美一区二区三区| 国产丝袜啪啪| 综合天天色| 色九九视频| 第一页亚洲| 国产美女一级毛片| 毛片视频网| 国产幂在线无码精品| 国产成人1024精品| 99久久人妻精品免费二区| 成人国产三级在线播放| 欧美性精品不卡在线观看| 日韩天堂网| 国产高清色视频免费看的网址| 午夜影院a级片| 亚洲成人动漫在线观看| 亚洲视频免费播放| 中日韩一区二区三区中文免费视频|