亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Access > 正文

非Access數據庫在VB中的編程及應用

2024-09-07 19:03:15
字體:
來源:轉載
供稿:網友

存取對象變量庫結構作為一個功能較完備的Windows軟件開發平臺,Visual Basic專業版提供了對數據庫應用的強大支持。尤其提供了使用數據控件和綁定控制項,使用數據庫存取對象變量(DataAccessObject Variable),直接調用ODBC 2.0 API接口函數等三種訪問數據庫的方法。對其標準內置的Ms Access數據庫,它可以提供不弱于專業數據庫軟件的支持,可以進行完整的數據庫維護、操作及其事務處理。在VB中,將非Access數據庫稱為外來數據庫。對于FoxPro、dBASE、Paradox等外來數據庫。雖然借助VB的Data Manager 能夠對這些數據庫進行NEW、OPEN、DESIGN、DELETE等操作,但在應用程序的運行狀態中并不能從底層真正實現這些功能。本文從使用數據庫存取對象變量的方法出發,實現了非Access格式數據庫(以FoxPro數據庫為例)的建新庫、拷貝數據庫結構、動態調入等操作,闡述了從編程技巧上彌補VB對這些外來數據庫支持不足的可行性 。

一、VB數據庫的體系結構具體的VB的數據庫結構。

VB數據庫的核心結構是所謂的MicroSoft JET數據庫引擎,JET引擎的作用就像是一塊"面板",在其上可以插入多種ISAM(Indexed Sequential Access Method,即索引順序存取方 法) 數據驅動程序。JET引擎為Access格式數據庫提供了直接的內部(build-in)支持,這就是VB對Access數據庫具有豐富支持的真正原因。

VB專業版中提供了FoxPro、dBASE(或 Xbase)、Paradox、Btrieve等數據庫的ISAM驅動程序,這就使得VB能支持這些數據庫格 式。另外,其他的許多兼容ISAM的驅動程序也可以通過從廠商的售后服務得到。因而從理論上說,VB能支持所有兼容ISAM的數據庫格式(前提是只需獲得這些數據庫的ISAM驅動接口程序)。

由上可見,Ms JET引擎實質上提供了:一個符合ANSI標準的語法分析器;為查詢結果集的使用而提供的內存管理功能;同所支持的數據庫的外部接口;為應用代碼提供的內部接口。實際上,在VB中從一種數據庫類型轉化為另一種數據庫類型幾乎不需要或只需要很少的代碼修改。而且,盡管dBASE、Paradox本身的DDL (Data Definition Language,即數據定義語言)和DML(Data Manipulation Language,即數據操縱語言)是非結構化查詢的,但它們仍然可以使用VB的SQL語句和JET引擎來操縱。

從VB的程序代碼的角度來看,ODBC,ISAM驅動程序以及Ms Access數據庫的整個外部結構夠可以統一為一個一致的編程接口。也即是說,提供給VB應用程序員的記錄集對象視圖同所使用的數據庫格式及類型是相互獨立的。即對FoxPro等數據庫仍然可以使用眾多的數據庫存取對象變量,這就為非Access數據庫的訪問提供了最重要的方法。

二 、使用非Access數據庫時的參數設置及配置文件的參數讀取如果在VB的程序中使用了數據庫的操作,將應用程序生成EXE文件或打包生成安裝程序后,則必須提供一個配置 (.INI)文件,在INI文件中可以對不同類型的數據庫進行設置。如果找不到這個INI文件, 將會導致不能訪問數據庫。通常情況下,INI文件的文件名和應用程序的名稱相同,所以如果沒有指明,VB的程序會在Windows子目錄中去找和應用程序同名的INI文件。可以使用VB中的SetDataAccessOptions語句來設置INI文件。

SetDataAccessOptions語句的用法如下:SetDataAccessOptions 1 ,IniFileName其中IniFileName參數指明的是INI文件的帶路徑的文件名。值得注意的是,當應用程序找不到這個INI文件時,或在調用 OpenDataBase函數時對其Connect參數值沒有設定為VB規定的標準值,如對FoxPro 2.5格式設定為了" FoxPro;"(應為" FoxPro 2.5; "),或者沒有安裝相應的ISAM驅動程序,則此時VB會顯示一條錯誤信息" Not Found Installable ISAM "。通常,INI文件在應用程序分發出去以前已經生成,或者在安裝時動態生成,也可以在應用程序中自己生成。 通常這種 INI文件中有" [Options]"、"[ISAM]"、" [Installed ISAMs]"、"[FoxPro ISAM]"、"[dBASE ISAM] " 、" [Paradox ISAM] "等設置段,對于一個完整的應用程序則還應有一個屬于應用 程序自己的設置段如" [MyDB]”??稍谄渲性O置DataType、Server、DataBase、 OpenOnStartup、DisplaySQL、QueryTimeOut等較為重要的數據庫參數,并以此限定應用程序一般的運行環境。 Windows API接口函數在Kernel.exe動態鏈接庫中提供了一個OSWritePrivateProfileString函數,此函數能按Windows下配置文件(.INI)的書寫格式寫入信息。

在通常情況下,應用程序還需要在運行時讀取配置文件內相關項的參數。比如PageTimeOut(頁加鎖超時時限)、MaxBufferSize(緩沖區大小)、LockRetry(加鎖失敗時重試次數)等參數,通過對這些參數的讀取對應用程序運行環境的設定、潛在錯誤的捕獲等均會有很大的改善。

三 、數據存取對象變量對外來數據庫編程的方法及其實例在VB專業版數據庫編程的三種方法中,第二種-使用數據庫存取對象變量(DAO)的方法最具有功能強大、靈活的特點。 它能夠在程序中存取ODBC 2.0的管理函數;可以控制多種記錄集類型:Dynaset,Snapshot 及Table記錄集合對象;可以存儲過程和查詢動作;可以存取數據庫集合對象,例如 TableDefs,Fields,Indexes及QueryDefs;具有真正的事物處理能力。因而,這種方法對數據庫處理的大多數情況都非常適用。

由于VB中的記錄集對象與所使用的數據庫格式及類型是相互獨立的,所以在非Access數據庫中也可以使用數據庫存取對象變量的方法。因而 對FoxPro等外來數據庫而言,使用數據庫存取對象變量的方法同樣也是一種最佳的選擇。 有一點需要注意的是,VB的標準版中僅能使用數據控件(Data Control)對數據庫中的記錄進行訪問,主要的數據庫存取對象中也僅有Database、Dynaset對象可通過數據控件的屬 性提供,其它的重要對象如TableDef、Field、Index、QueryDef、Snapshot、Table等均不能在VB的標準版中生成,所以使用數據存取對象變量的方法只能用VB 3.0以上的專業版。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
超薄丝袜一区二区| 精品露脸国产偷人在视频| 亚洲精品一区二区三区不| 亚洲福利精品在线| 亚洲www永久成人夜色| 久久69精品久久久久久国产越南| 国产午夜精品久久久| 亚洲精品国产拍免费91在线| 国产日韩精品在线观看| 一本色道久久综合狠狠躁篇的优点| 亚洲专区国产精品| 日韩欧美亚洲成人| 欧美成人精品一区二区| 亚洲最大福利网| 黄色成人av在线| 成人综合网网址| 国产精品久久久久久中文字| 久久精品99无色码中文字幕| 久久九九免费视频| 日韩免费av片在线观看| 亚洲欧美中文在线视频| 一区二区在线视频| 美女精品久久久| 欧美精品少妇videofree| 亚洲一区二区三区视频播放| 久久精品久久久久| 在线观看日韩av| 国内揄拍国内精品| 久久久www成人免费精品| 国产成人精品网站| 隔壁老王国产在线精品| 九九久久国产精品| 欧美激情2020午夜免费观看| 欧美性在线观看| 91中文字幕一区| 欧美激情免费在线| 欧美裸体xxxx极品少妇软件| 97久久精品人人澡人人爽缅北| 久久久久久久久久国产精品| 国产欧美在线播放| 中日韩美女免费视频网站在线观看| 亚洲视频在线看| 国产亚洲欧美另类中文| 欧美日韩亚洲视频一区| 青草热久免费精品视频| 亚洲加勒比久久88色综合| 日韩精品在线第一页| 69影院欧美专区视频| 中文欧美日本在线资源| 亚洲缚视频在线观看| 亚洲大胆人体av| 九九精品在线播放| 97不卡在线视频| 日韩在线观看免费全| 亚洲国产一区二区三区四区| 欧美高清视频在线播放| 日韩一区二区久久久| 欧洲亚洲女同hd| 久久福利视频导航| 欧美wwwxxxx| 亚洲新中文字幕| 欧美极品美女视频网站在线观看免费| 国产精品精品视频一区二区三区| 久久国内精品一国内精品| 欧美一级高清免费播放| 精品国产31久久久久久| 国产va免费精品高清在线| 精品丝袜一区二区三区| 日韩av手机在线| 欧美国产日韩在线| 97视频在线观看视频免费视频| 欧美日韩国产va另类| 欧美性黄网官网| 国产欧美日韩中文字幕在线| 亚洲综合在线做性| 久久久国产一区二区三区| 国产午夜精品视频| 亚洲桃花岛网站| 亚洲日韩欧美视频一区| 国产一区二区三区视频在线观看| 91精品国产91久久久久久最新| 色噜噜狠狠色综合网图区| 91精品久久久久久久久久久久久久| 亚洲免费电影一区| 日本精品久久中文字幕佐佐木| 国产精品91久久久| 国产日韩中文在线| 久久国产精品久久久| 午夜免费日韩视频| 欧美日韩国产精品一区二区不卡中文| 久久久精品在线| 久久不射电影网| 亚洲男人av在线| 日韩精品久久久久久福利| www.欧美三级电影.com| 日本欧美精品在线| 国产精品一区二区久久久久| 97热在线精品视频在线观看| 国产精品久久久久久久久免费| 情事1991在线| 最近中文字幕2019免费| 国产精品久久久久免费a∨大胸| 亚洲国产精品久久久久秋霞不卡| 久久久伊人欧美| 宅男66日本亚洲欧美视频| 国产亚洲福利一区| 亚洲精品720p| 在线播放国产一区中文字幕剧情欧美| 欧美午夜精品久久久久久人妖| 国产噜噜噜噜噜久久久久久久久| 亚洲第一天堂无码专区| 亚洲天堂免费观看| 日韩精品免费看| 亚洲欧美国产一本综合首页| 日本精品久久久久影院| 永久免费毛片在线播放不卡| 国产极品jizzhd欧美| 亚洲深夜福利网站| 日本高清+成人网在线观看| 欧美大学生性色视频| 色狠狠av一区二区三区香蕉蜜桃| 2020国产精品视频| 国产精品自在线| 日韩国产精品一区| 在线观看91久久久久久| 国产精品欧美日韩久久| 92看片淫黄大片欧美看国产片| 亚洲一区亚洲二区亚洲三区| 欧美性高潮床叫视频| 国产综合色香蕉精品| 国产精品美腿一区在线看| 中日韩美女免费视频网站在线观看| 亚洲福利视频专区| 日韩有码在线播放| 亚洲精品女av网站| 国产主播精品在线| 欧美日韩一区二区在线| 亚洲天堂成人在线视频| 国产97色在线| 国产视频精品va久久久久久| 色偷偷91综合久久噜噜| 中文字幕欧美日韩在线| 91精品国产综合久久香蕉| 欧洲精品在线视频| 中文字幕自拍vr一区二区三区| 国产成+人+综合+亚洲欧美丁香花| 国产一区二区三区日韩欧美| 亚洲欧美日韩一区二区三区在线| 久久这里有精品视频| 欧美日韩国产丝袜另类| 欧美插天视频在线播放| 97精品视频在线| 亚洲视频第一页| 国产精品视频资源| 午夜精品视频在线| 91色p视频在线| 欧美日韩性视频在线| 亚洲综合国产精品| 夜夜嗨av一区二区三区四区| 欧美精品在线免费| 国产成人精品视频在线观看| 色悠久久久久综合先锋影音下载| 亚洲精品中文字幕女同| 久久久女人电视剧免费播放下载|