亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ASP與ACCESS數(shù)據(jù)庫(kù)連接的討論

        2013-12-10 07:06:54趙志娟
        上海大中型電機(jī) 2013年3期
        關(guān)鍵詞:驅(qū)動(dòng)程序數(shù)據(jù)源調(diào)用

        趙志娟

        (上海電氣集團(tuán)上海電機(jī)廠有限公司,上海 200240)

        0 引言

        產(chǎn)生于20世紀(jì)90年代初的萬(wàn)維網(wǎng)(World Wide Web)在迅速發(fā)展的今天,是互聯(lián)網(wǎng)非常重要的信息資源網(wǎng),遵循超文本傳輸協(xié)議,以超文本或超媒體的形式傳送各種各樣的信息,為用戶提供具有友好的圖形化界面,以查閱互聯(lián)網(wǎng)上的各類信息。信息的實(shí)現(xiàn)方式就是通過(guò)各類編程語(yǔ)言。本文以ASP、ACCESS為例討論兩種程序數(shù)據(jù)庫(kù)的訪問(wèn)和程序錯(cuò)誤的處理。

        1 ASP與ACCESS概述

        1.1 ASP

        ASP(Active Server Pages)是一套微軟開(kāi)發(fā)的服務(wù)器端腳本環(huán)境,它內(nèi)含于IIS(Internet Information Server)或 PWS(Personal Web Server)中,是微軟公司開(kāi)發(fā)的代替CGI腳本程序的一種應(yīng)用,可以與數(shù)據(jù)庫(kù)和其它程序進(jìn)行交互,是一種簡(jiǎn)單、方便的編程工具,是運(yùn)行動(dòng)態(tài)、交互的Web服務(wù)器應(yīng)用程序。

        ASP的工作原理框圖如圖1所示。當(dāng)客戶端瀏覽器上某用戶申請(qǐng)一個(gè)*.asp的文件(ASP文件的后綴名為.asp)時(shí),Web服務(wù)器就會(huì)響應(yīng)該HTTP請(qǐng)求,并調(diào)用ASP引擎,解釋被申請(qǐng)文件,最后輸出標(biāo)準(zhǔn)的HTML格式文件傳送給客戶端瀏覽器,由瀏覽器解釋運(yùn)行,并顯示出結(jié)果。

        圖1 ASP工作原理框圖

        當(dāng)遇到任何與ActiveX Scripting兼容的腳本(如VBScript和JavaScript)時(shí),ASP引擎會(huì)調(diào)用相應(yīng)的腳本引擎進(jìn)行處理。若腳本指令中含有訪問(wèn)數(shù)據(jù)庫(kù)的請(qǐng)求,就通過(guò)ODBC與后臺(tái)數(shù)據(jù)庫(kù)相連,由數(shù)據(jù)庫(kù)訪問(wèn)組件執(zhí)行訪問(wèn)操作等。由于ASP腳本是在服務(wù)器端解釋執(zhí)行的,所以其所有相關(guān)的發(fā)布工作都由Web服務(wù)器負(fù)責(zé)。

        1.2 Access

        Access是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS,即 Relational Database Management System),是 Office系列應(yīng)用軟件之一,支援部分面向?qū)ο?OOP)技術(shù),但是未能成為一種完整的面向?qū)ο箝_(kāi)發(fā)工具。其特點(diǎn)如下:

        ① 提供表、查詢、窗體、報(bào)表、頁(yè)、宏、模塊七種用來(lái)建立數(shù)據(jù)庫(kù)系統(tǒng)的對(duì)象;

        ② 提供多種向?qū)?、生成器、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化;

        ③ 能夠存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文軟件公司),或者任何 ODBC兼容數(shù)據(jù)庫(kù)內(nèi)的資料。

        2 數(shù)據(jù)庫(kù)的訪問(wèn)

        2.1 ASP訪問(wèn)數(shù)據(jù)庫(kù)

        2.1.1 在ASP中建立數(shù)據(jù)庫(kù)連接

        ASP中使用ADO對(duì)象進(jìn)行數(shù)據(jù)庫(kù)的連接和調(diào)用。ADO稱為“Active數(shù)據(jù)對(duì)象”,是基于組件的數(shù)據(jù)庫(kù)編程接口,提供訪問(wèn)各種數(shù)據(jù)類型的連接機(jī)制,與編程語(yǔ)言無(wú)關(guān)的COM(Component Object Model)組件系統(tǒng),是統(tǒng)一數(shù)據(jù)訪問(wèn)方式OLE DB的一個(gè)中間層,是 OLE DB/ODBC的使用者。它提供了對(duì)OLE DB數(shù)據(jù)源的應(yīng)用程序級(jí)的訪問(wèn)。在ASP中,可以使用ADO通過(guò)OLE DB的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序直接訪問(wèn)數(shù)據(jù)庫(kù),也可以編寫(xiě)緊湊簡(jiǎn)明的腳本以便連接到ODBC兼容的數(shù)據(jù)庫(kù)。

        1)用ODBC方式連接數(shù)據(jù)庫(kù)

        ODBC(Open Database Connectivity,開(kāi)放數(shù)據(jù)庫(kù)連接)是微軟開(kāi)放的服務(wù)結(jié)構(gòu)中有關(guān)數(shù)據(jù)庫(kù)的一個(gè)組成部分。通過(guò)ODBC方式建立的應(yīng)用程序,不依賴于任何數(shù)據(jù)庫(kù)管理系統(tǒng),不直接與任何DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))交互。

        2)ODBC工作原理

        ODBC驅(qū)動(dòng)程序類似于Windows下的打印機(jī)驅(qū)動(dòng)程序,通過(guò)ODBC驅(qū)動(dòng)程序管理器統(tǒng)一對(duì)應(yīng)用程序?qū)?shù)據(jù)庫(kù)的訪問(wèn)進(jìn)行規(guī)范化管理:

        ① ODBC的所有驅(qū)動(dòng)程序都是動(dòng)態(tài)連接庫(kù)DLL(Dynamic Link Library),由 ODBCADM.DLL驅(qū)動(dòng)程序管理器統(tǒng)一進(jìn)行管理。

        ② 任何DBMS,只要提供了并符合ODBC接口規(guī)范的DLL庫(kù),便可以加載到系統(tǒng)中被ODBC建立的應(yīng)用程序所訪問(wèn)。

        ③ ODBC.DLL通過(guò)WINDOWS系統(tǒng)注冊(cè)表(或ODBC.INI文件)中的數(shù)據(jù)源 (Data Source)了解到對(duì)某個(gè)數(shù)據(jù)庫(kù)應(yīng)調(diào)用哪個(gè)DLL。每個(gè)數(shù)據(jù)源對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序庫(kù)(DBMS或ISAM文件)。

        3)ODBC接口支持的SQL語(yǔ)句

        ODBC驅(qū)動(dòng)程序有兩類,第一類含有SQL語(yǔ)句處理功能,第二類則沒(méi)有SQL語(yǔ)言處理功能。

        4)創(chuàng)建系統(tǒng)DSN

        使用ODBC連接數(shù)據(jù)庫(kù),必須提供一條使ADO定位、標(biāo)識(shí)和與數(shù)據(jù)庫(kù)通訊的途徑。那么ODBC就使用數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序Data Source Name(DSN,數(shù)據(jù)源)定位和標(biāo)識(shí)特定的ODBC兼容數(shù)據(jù)庫(kù),DSN包含數(shù)據(jù)庫(kù)配置、用戶安全性和定位信息。

        ① 創(chuàng)建文件DSN

        建立文件DSN,關(guān)于數(shù)據(jù)庫(kù)的配置將保留在一個(gè).dsn文件中,ODBC數(shù)據(jù)源通過(guò)讀取.dsn文件中的配置來(lái)建立和數(shù)據(jù)庫(kù)的連接。

        ② 創(chuàng)建無(wú)DSN的連接

        利用ADO連接數(shù)據(jù)庫(kù)除了使用ODBC數(shù)據(jù)源DSN外,也可以創(chuàng)建無(wú)DSN的ODBC連接和基于OLE DB。

        (ⅰ)無(wú)DSN的連接

        對(duì)于SQL Server2005數(shù)據(jù)庫(kù),一般需要用到Driver和Server兩個(gè)參數(shù),連接方法如下:

        (ⅱ)通過(guò)OLE DB的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序直接訪問(wèn)數(shù)據(jù)庫(kù)

        一般OLE DB的數(shù)據(jù)庫(kù)連接需要用到Provider和Data Source兩個(gè)參數(shù),連接方法如下:

        5)ADO對(duì)象中的主要對(duì)象

        ADO對(duì)象結(jié)構(gòu)如圖2示,主要對(duì)象是Connection對(duì)象,Command對(duì)象,Recordset對(duì)象。其中Connection對(duì)象為連接對(duì)象,Command對(duì)象為命令對(duì)象,Recordset對(duì)象為記錄集對(duì)象。本文討論Connection和Recordset對(duì)象。

        圖2 ADO對(duì)象結(jié)構(gòu)圖

        Connection對(duì)象代表了打開(kāi)的、與數(shù)據(jù)源的連接,該對(duì)象代表與數(shù)據(jù)源進(jìn)行的唯一連接會(huì)話。ASP在Connection對(duì)象的基礎(chǔ)使用Command對(duì)象及Recordset對(duì)象來(lái)對(duì)Connection對(duì)象所連接的數(shù)據(jù)庫(kù)進(jìn)行插入、刪除、更新和查詢等操作。

        ② Connection對(duì)象的創(chuàng)建

        (ⅰ)在ADO中建立對(duì)象需要用到Server對(duì)象的CreateObject方法,格式:Set Connection對(duì)象 =Server.CreateObject(“ADODB.Connection”)。

        (ⅱ)創(chuàng)建了Connection對(duì)象后,就可以調(diào)用Open函數(shù)來(lái)打開(kāi)數(shù)據(jù)庫(kù)。Open函數(shù)的格式:Conn.Open“參數(shù)1=值;參數(shù)2=值;參數(shù)3=值……”

        (ⅲ)Execute方法執(zhí)行SQL命令或存儲(chǔ)過(guò)程,有返回記錄的格式為:Set Rs=Connection對(duì)象.Execute(CommandText,RecordsAffected,Options);無(wú)返回記錄的格式為:Connection對(duì)象.Execute(CommandText,RecordsAffected,Options)

        ③ Recordset對(duì)象

        Recordset對(duì)象表示來(lái)自基本表或命令執(zhí)行結(jié)果的記錄全集,其所指的當(dāng)前記錄為集合內(nèi)的單條記錄,通過(guò)使用Recordset對(duì)象,則可以方便自如地操作Command對(duì)象返回的結(jié)果。

        ④ Recordset對(duì)象的創(chuàng)建

        (ⅰ)標(biāo)準(zhǔn)的Recordset對(duì)象的標(biāo)準(zhǔn)建立語(yǔ)句如下:SetRecordset對(duì) 象 = Server.CreateObject(“ADODB.Recordset”),也可以使用 Connection 對(duì)象和Command對(duì)象的Execute方法返回Recordset對(duì)象

        (ⅱ)需要調(diào)用Recordset對(duì)象的Open方法打開(kāi)打開(kāi)一個(gè)數(shù)據(jù)庫(kù),格式如下:Recordset對(duì)象.Open Source, ActiveConnection, CursorType, LockType,Options

        (ⅲ)Recordset對(duì)象的操作步驟:第一步,創(chuàng)建Connection對(duì)象,打開(kāi)數(shù)據(jù)連接;第二步,創(chuàng)建Recordset對(duì)象;第三步,打開(kāi)Recordset取得數(shù)據(jù);第四步,關(guān)閉Recordset對(duì)象;第五步,關(guān)閉與數(shù)據(jù)庫(kù)的連接。

        2.1.2 ACCESS訪問(wèn)數(shù)據(jù)庫(kù)

        1)VBA數(shù)據(jù)庫(kù)訪問(wèn)接口

        ACCESS程序訪問(wèn)數(shù)據(jù)庫(kù)是通過(guò)VBA數(shù)據(jù)庫(kù)訪問(wèn)接口,與后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行連接。VBA有三種數(shù)據(jù)庫(kù)訪問(wèn)的接口,分別為ODBC(Open Database Con-nectivity)開(kāi)放式數(shù)據(jù)庫(kù)連接,DAO(Data Access Objects)數(shù)據(jù)訪問(wèn)對(duì)象。

        2)ADO對(duì)象結(jié)構(gòu)見(jiàn)圖3。

        圖3 ACCESS ADO對(duì)象結(jié)構(gòu)圖

        首先創(chuàng)建對(duì)象變量,然后用對(duì)象的方法和屬性訪問(wèn)數(shù)據(jù)庫(kù)。

        用ADO訪問(wèn)數(shù)據(jù)庫(kù)的一般語(yǔ)句和步驟:

        3 ADO方式的數(shù)據(jù)庫(kù)連接相通性

        ASP和ACCESS通過(guò)調(diào)用ADO組件進(jìn)行數(shù)據(jù)庫(kù)連接,主要是寫(xiě)法上有不同。Access的Connection對(duì)象連接舉例,以TestDB.mdb為例:

        1)DSN方式

        2)無(wú)DSN方式

        3)基于OLE DB的連接

        4 程序錯(cuò)誤處理

        4.1 ASP程序錯(cuò)誤處理

        使用ADO對(duì)象時(shí)發(fā)生的運(yùn)行錯(cuò)誤都收集在Errors集合中。Errors集合無(wú)須有Set語(yǔ)句創(chuàng)建,它由系統(tǒng)自動(dòng)創(chuàng)建。如果沒(méi)有錯(cuò)誤,則它是一個(gè)空集合。如果非空,則其中每個(gè)成員是一個(gè)Error對(duì)象。

        Errors集合只有一個(gè)屬性,就是 Count,表示Errors集合中Error對(duì)象的個(gè)數(shù)。

        Error集合的方法:Item方法,用于獲取Error對(duì)象;Clear方法,用來(lái)清除Errors集合中的所有Error對(duì)象。

        4.2 ACCESS程序錯(cuò)誤處理

        VBA提供了On Error語(yǔ)句,用來(lái)控制當(dāng)有錯(cuò)誤發(fā)生時(shí)程序的處理,啟動(dòng)一個(gè)錯(cuò)誤處理程序并指定該子程序在一個(gè)過(guò)程中的位置。一個(gè)錯(cuò)誤處理程序不是Sub過(guò)程或Function過(guò)程,它是一段用行號(hào)標(biāo)記的代碼。

        On Error語(yǔ)句的語(yǔ)法,On Error語(yǔ)句的語(yǔ)法有三種:

        1)On Error GoTo行號(hào)

        啟動(dòng)錯(cuò)誤處理程序,如果發(fā)生一個(gè)運(yùn)行時(shí)錯(cuò)誤,控件會(huì)轉(zhuǎn)到行號(hào)所指位置,執(zhí)行其中的代碼。指定的行號(hào)必須在一個(gè)過(guò)程中,這個(gè)過(guò)程與 On Error語(yǔ)句所在的過(guò)程相同,當(dāng)程序發(fā)生錯(cuò)誤,跳轉(zhuǎn)到指定的行號(hào)位置執(zhí)行。

        2)On Error Resume Next

        當(dāng)一個(gè)運(yùn)行錯(cuò)誤發(fā)生時(shí),不考慮錯(cuò)誤,繼續(xù)執(zhí)行下一條語(yǔ)句。訪問(wèn)對(duì)象時(shí)要使用這種形式而不使用On Error GoTo語(yǔ)句。

        3)On Error GoTo 0

        關(guān)閉錯(cuò)誤處理,禁止當(dāng)前過(guò)程中任何已啟動(dòng)的錯(cuò)誤處理程序。

        5 結(jié)語(yǔ)

        本文討論了如何在ASP、ACCESS中實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接,如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)的讀寫(xiě)。并介紹了在ASP中連接數(shù)據(jù)庫(kù)的幾種方法,基于ODBC DSN數(shù)據(jù)源的連接,無(wú)DSN的連接及數(shù)據(jù)庫(kù)開(kāi)發(fā)常用的Connection對(duì)象、Recordset對(duì)象,并對(duì)ACCESS可采用基于ODBC DSN數(shù)據(jù)源的連接,無(wú)DSN的連接等進(jìn)行了舉例,對(duì)比了ASP、ACCESS程序錯(cuò)誤處理的方式。

        猜你喜歡
        驅(qū)動(dòng)程序數(shù)據(jù)源調(diào)用
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
        基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評(píng)價(jià)研究
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評(píng)價(jià)算法
        分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢?cè)O(shè)計(jì)與實(shí)現(xiàn)
        利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        无码人妻精品一区二区三| 亚洲av影片一区二区三区| 午夜麻豆视频在线观看| 久久精品国产av一级二级三级| 亚洲av永久无码精品网站在线观看 | 亚洲白白色无码在线观看| 国产成本人片无码免费2020| 996久久国产精品线观看| 国产成人精品一区二免费网站| 国产精品毛片极品久久| 国产美女做爰免费视频| 熟女俱乐部五十路二区av| 东京热加勒比日韩精品| 91精品啪在线观九色| 人妻少妇乱子伦精品无码专区电影 | 中文字幕亚洲精品码专区| 亚洲天堂久久午夜福利| 国内成+人 亚洲+欧美+综合在线| 亚洲色欲在线播放一区| 亚洲福利第一页在线观看| 丰满少妇人妻久久精品| 首页 综合国产 亚洲 丝袜| 国产精品青草视频免费播放| 中文字幕一区二区三区精品在线| 亚洲 另类 小说 国产精品| 亚洲av无码专区电影在线观看| 日韩久久久久中文字幕人妻| 日韩在线视频专区九区| 免费无码又爽又高潮视频| 四虎影视永久在线精品| 开心激情站开心激情网六月婷婷| 国产精品高清视亚洲乱码| 三年在线观看免费大全下载| 国产短视频精品区第一页| 免费人成网站在线观看| 男人添女人囗交做爰视频| 人成午夜免费大片| 日韩精品精品一区二区三区| 日本免费在线一区二区三区| 亚洲老妈激情一区二区三区| 美女爽好多水快进来视频|