人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

在ASP程序中訪問Access數(shù)據(jù)庫

在ASP程序中訪問Access數(shù)據(jù)庫

更新時(shí)間:2022-08-20 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

在基于微軟IIS/PWS的網(wǎng)絡(luò)平臺上,通過服務(wù)器端運(yùn)行的ASP程序來訪問后臺數(shù)據(jù)庫,是一種最常見的模式了。而對于小型的數(shù)據(jù)庫應(yīng)用需求,微軟的Access數(shù)據(jù)庫,應(yīng)該是與ASP程序配套使用的首選。由于Access數(shù)據(jù)庫的ODBC驅(qū)動(dòng)程序支持的SQL指令全,執(zhí)行效率高,所以Access后臺數(shù)據(jù)庫+ASP服務(wù)器端程序+客戶端IE瀏覽器,是一個(gè)精練實(shí)用高效的組合模式。 

  在這種使用模式中,ASP程序無疑是最重要的,是溝通客戶端和后臺數(shù)據(jù)庫之間的橋梁。在ASP程序中,通過VB Script,建立對Access數(shù)據(jù)庫的連接,是客戶能夠訪問后臺數(shù)據(jù)庫的前提。 

  一、建立Access數(shù)據(jù)庫連接的常用方法 

  在ASP中建立對Access數(shù)據(jù)庫連接的一般格式如下: 

     

  它的各步驟及參數(shù)意義如下: 

  第一行程序:利用Server對象的MapPath函數(shù),取得要打開數(shù)據(jù)庫的完整的文件路徑,并存儲在變量DbPath中。這其中,數(shù)據(jù)庫名是我們需要指定的參數(shù),應(yīng)該用我們要打開的數(shù)據(jù)庫的實(shí)際名稱替代。如果數(shù)據(jù)庫名是直接作為常量出現(xiàn),要用引號將其括起來,并且不能丟掉擴(kuò)展名。例如數(shù)據(jù)庫是Test.mdb,則該行程序成為:DbPath=Server.MapPath(“Test.mdb”)。 

  第二行程序:建立一個(gè)ADO對象集中的Connection對象,也即連接對象。這是建立數(shù)據(jù)庫連接的初始步驟。執(zhí)行這行程序后,Conn成為一個(gè)連接對象。 

  第三行程序:利用連接對象Conn的Open方法打開一個(gè)指定的數(shù)據(jù)庫。因?yàn)槲覀円蜷_的是Access數(shù)據(jù)庫,所以要指定ODBC驅(qū)動(dòng)程序參數(shù),表示要透過Access的ODBC驅(qū)動(dòng)程序來訪問數(shù)據(jù)庫:driver={Microsoft Access Driver (*.mdb)};。另一個(gè)參數(shù)dbq= & DbPath,運(yùn)算后等效于dbq=Server.MapPath(數(shù)據(jù)庫名) ,是利用了第一行的Server.MapPath(數(shù)據(jù)庫名)函數(shù),用來指定要打開的數(shù)據(jù)庫文件。到這里,就已經(jīng)打開了數(shù)據(jù)庫名指定的數(shù)據(jù)庫。如果數(shù)據(jù)庫名是“test.mdb”,則打開Access數(shù)據(jù)庫Test.mdb。在這一行里指定的參數(shù),要嚴(yán)格按照格式原樣寫出,不能省略或改動(dòng),也沒有可變參數(shù)。 

  第四行程序:建立一個(gè)ADO對象集中的Recordset對象,以便利用Recordset對象操作數(shù)據(jù)庫(當(dāng)然,這只是對數(shù)據(jù)庫操作的多種方式之一)。執(zhí)行這行后,rs就成為一個(gè)Recordset對象。 

  第五行程序:利用rs對象的Open方法打開數(shù)據(jù)庫中的數(shù)據(jù)表。這其中有四個(gè)參數(shù),其意義如下: 

  數(shù)據(jù)表名或SQL指令串:在這個(gè)參數(shù)里指定要打開的數(shù)據(jù)庫內(nèi)的數(shù)據(jù)表名稱,或者是用SQL的Select指令串確定的數(shù)據(jù)表的指定范圍數(shù)據(jù),例如,數(shù)據(jù)庫Test.mdb中有數(shù)據(jù)表Number,則該參數(shù)成為“Number”,注意引號不能丟;若想打開數(shù)據(jù)表Number中xh字段值小于90的數(shù)據(jù)記錄,則該參數(shù)可能成為如下的形式: 

  “Select * From Number Where xh < 90”。 

  Connection對象:指定已經(jīng)打開的數(shù)據(jù)庫的Connection對象,在這里固定是Conn,注意無須引號的。 

  Recordset類型:表示打開數(shù)據(jù)表的方式,有四種選擇。數(shù)字0表示只讀方式,且當(dāng)前記錄只能下移;數(shù)字1表示可讀寫方式,當(dāng)前記錄可自由上下移動(dòng),但不能及時(shí)看到別的用戶建立的新記錄,除非重新啟動(dòng);數(shù)字2表示可讀寫方式,當(dāng)前記錄可自由移動(dòng),而且可以及時(shí)看到別的用戶增加的新記錄;數(shù)字3表示只讀方式,但當(dāng)前記錄可以自由移動(dòng)。一般選擇2為好,除非為了禁止數(shù)據(jù)被修改。 

  鎖定類型:這個(gè)參數(shù)指定數(shù)據(jù)庫的鎖定功能。因?yàn)榫W(wǎng)絡(luò)上的數(shù)據(jù)庫都是多用戶的,很可能同時(shí)有多個(gè)用戶在操作數(shù)據(jù)庫。為了避免錯(cuò)誤,讓同一時(shí)間只可能有一個(gè)用戶修改數(shù)據(jù),就要用鎖定功能。有四種選擇:數(shù)字1表示只讀方式鎖定,用戶不能更改數(shù)據(jù);數(shù)字2表示悲觀鎖定,當(dāng)一個(gè)用戶用rs對象開始修改數(shù)據(jù)時(shí)就鎖定數(shù)據(jù)庫,直到用戶用rs.Update更新記錄后,才解除鎖定;數(shù)字3表示樂觀鎖定,只有在數(shù)據(jù)寫入數(shù)據(jù)庫中時(shí)候才鎖定,不保險(xiǎn),慎用!數(shù)字4表示批次樂觀鎖定,只有在使用rs.UpdateBatch成批更新數(shù)據(jù)時(shí)候才鎖定數(shù)據(jù)記錄。屬于很少使用的。一般地,使用悲觀鎖定比較安全,但是效率要低些。 
[page_break]  二、使用Recordset對象操作數(shù)據(jù) 

  用上面的方法打開數(shù)據(jù)庫,是利用了Recordset對象建立的數(shù)據(jù)庫連接,然后的對數(shù)據(jù)操作,也要使用該對象。 

  用rs.open “數(shù)據(jù)表名”,Conn,2,2 方式打開數(shù)據(jù)表,就可以方便的對數(shù)據(jù)進(jìn)行操作: 

  常見的操作對象: 

    rs.addnew :添加一個(gè)新記錄在數(shù)據(jù)表末尾。 

    rs.delete :刪除當(dāng)前記錄。 

    rs.eof :判斷是否已過最后記錄。 

    rs.bof :判斷是否移過首記錄。 

    rs.update :數(shù)據(jù)修改生效。 

    rs(“字段名”):當(dāng)前記錄指定字段的值。 

  從數(shù)據(jù)表中提取數(shù)據(jù):用x=rs(“字段名”)的格式,提取數(shù)據(jù)表中當(dāng)前記錄指定字段的值。 

  向數(shù)據(jù)表中填入或修改數(shù)據(jù):用rs(“字段名”)=數(shù)據(jù)值或變量的方式,修改當(dāng)前記錄指定字段的值。 

  三、使用SQL指令操作數(shù)據(jù)庫 

  在使用SQL指令對數(shù)據(jù)庫進(jìn)行操作時(shí),要用如下方式打開數(shù)據(jù)庫和操作: 

     

  四、使用DSN連接數(shù)據(jù)庫 

  在以上連接數(shù)據(jù)庫的方式中,都是在程序中指定數(shù)據(jù)庫,指定ODBC驅(qū)動(dòng)程序。如果數(shù)據(jù)源有變化,就需要修改程序。如果在系統(tǒng)級別上,預(yù)先定義好數(shù)據(jù)源DSN,就可以避免這個(gè)麻煩。 

  在定義DSN的過程中,就已經(jīng)指定好了數(shù)據(jù)源需要的ODBC驅(qū)動(dòng)程序,也指定好了數(shù)據(jù)庫文件的實(shí)際路徑和名字,我們在程序中,只需要引用預(yù)先定義的數(shù)據(jù)源名DSN即可。 

  設(shè)定義好的DSN為test,則打開數(shù)據(jù)庫的方式為: 

     

  五、結(jié)束語 

  在ASP程序中,建立數(shù)據(jù)庫的連接和訪問數(shù)據(jù)庫,有很多方式和技術(shù)細(xì)節(jié),在此難以一一詳述。實(shí)際上,對SQL Server數(shù)據(jù)庫,DBF數(shù)據(jù)庫,文本文件,電子表格文件等,也都可以很方便的打開和訪問,與對Access數(shù)據(jù)庫的訪問大同小異而已。如果說方便,Access應(yīng)該是首選。如果考慮安全保密性,SQL數(shù)據(jù)庫更好些。使用系統(tǒng)數(shù)據(jù)源DSN的方式建立對數(shù)據(jù)庫的連接,具有更大的靈活性,也更簡便些。 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 绩溪县| 新兴县| 仁化县| 濮阳县| SHOW| 海兴县| 长乐市| 台安县| 定远县| 全椒县| 甘孜县| 安顺市| 马关县| 泗水县| 交城县| 府谷县| 永修县| 仁布县| 通化市| 咸宁市| 宁河县| 莲花县| 洪湖市| 瑞丽市| 关岭| 汶上县| 花垣县| 镇康县| 红原县| 洪江市| 通州市| 瑞昌市| 辽源市| 柞水县| 方城县| 望奎县| 正蓝旗| 潢川县| 新余市| 开远市| 景东|