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

首頁 > 學院 > 開發設計 > 正文

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

2019-11-18 17:35:37
字體:
來源:轉載
供稿:網友
摘要VisualBasic有著強大的數據庫存取能力,不僅能夠直接支持Msaccess數據庫,而且通過其內部安裝的ISAM驅動程序使它能間接支持FoxPRo、dBASE等外來數據庫。本文不僅從VB數據庫體系結構的角度探討了VB對這些外來數據庫的支持,還結合了一些實例具體闡述了使用數據庫存取對象變量的方法實現這些外來數據庫的新建、庫結構修改、顯示及其運行環境設置。關鍵詞VisualBasicAccess外來數據庫數據庫存取對象變量庫結構 作為一個功能較完備的Windows軟件開發平臺,VisualBasic專業版提供了對數據庫應用的強大支持。尤其提供了使用數據控件和綁定控制項,使用數據庫存取對象變量(DataAccessObjectVariable),直接調用ODBC2.0API接口函數等三種訪問數據庫的方法。對其標準內置的MsAccess數據庫,它可以提供不弱于專業數據庫軟件的支持,可以進行完整的數據庫維護、操作及其事務處理。在VB中,將非Access數據庫稱為外來數據庫。對于FoxPro、dBASE、Paradox等外來數據庫。雖然借助VB的DataManager能夠對這些數據庫進行NEW、OPEN、DESIGN、DELETE等操作,但在應用程序的運行狀態中并不能從底層真正實現這些功能。本文從使用數據庫存取對象變量的方法出發,實現了非Access格式數據庫(以FoxPro數據庫為例)的建新庫、拷貝數據庫結構、動態調入等操作,闡述了從編程技巧上彌補VB對這些外來數據庫支持不足的可行性。

一、VB數據庫的體系結構具體的VB的數據庫結構請先看下圖。可見VB數據庫的核心結構是所謂的MicroSoftJET數據庫引擎,JET引擎的作用就像是一塊“面板”,在其上可以插入多種ISAM(IndexedSequentialAccessMethod,即索引順序存取方法)數據驅動程序。JET引擎為Access格式數據庫提供了直接的內部(build-in)支持,這就是VB對Access數據庫具有豐富支持的真正原因。VB專業版中提供了FoxPro、dBASE(或Xbase)、Paradox、Btrieve等數據庫的ISAM驅動程序,這就使得VB能支持這些數據庫格式。另外,其他的許多兼容ISAM的驅動程序也可以通過從廠商的售后服務得到。因而從理論上說,VB能支持所有兼容ISAM的數據庫格式(前提是只需獲得這些數據庫的ISAM驅動接口程序)。由上可見,MsJET引擎實質上提供了:一個符合ANSI標準的語法分析器;為查詢結果集的使用而提供的內存管理功能;同所支持的數據庫的外部接口;為應用代碼提供的內部接口。實際上,在VB中從一種數據庫類型轉化為另一種數據庫類型幾乎不需要或只需要很少的代碼修改。而且,盡管dBASE、Paradox本身的DDL(DataDefinitionLanguage,即數據定義語言)和DML(DataMangwMaxGridRows=Val(GetINIString(“MyDB.INI”,"MaxRows","250"))
glQueryTimeout=Val(GetINIString(“MyDB.INI”,"QueryTimeout","5"))
glLoginTimeout=Val(GetINIString(“MyDB.INI”,"LoginTimeout","20"))
EndSub

三、數據存取對象變量對外來數據庫編程的方法及其實例在VB專業版數據庫編程的三種方法中,第二種—使用數據庫存取對象變量(DAO)的方法最具有功能強大、靈活的特點。它能夠在程序中存取ODBC2.0的管理函數;可以控制多種記錄集類型:Dynaset,Snapshot及Table記錄集合對象;可以
存儲過程和查詢動作;可以存取數據庫集合對象,例如TableDefs,Fields,Indexes及QueryDefs;具有真正的事物處理能力。因而,這種方法對數據庫處理的大多數情況都非常適用。由于VB中的記錄集對象與所使用的數據庫格式及類型是相互獨立的,所以在非Access數據庫中也可以使用數據庫存取對象變量的方法。因而對FoxPro等外來數據庫而言,使用數據庫存取對象變量的方法同樣也是一種最佳的選擇。有一點需要注意的是,VB的標準版中僅能使用數據控件(DataControl)對數據庫中的記錄進行訪問,主要的數據庫存取對象中也僅有Database、Dynaset對象可通過數據控件的屬性提供,其它的重要對象如TableDef、Field、Index、QueryDef、Snapshot、Table等均不能在VB的標準版中生成,所以使用數據存取對象變量的方法只能用VB3.0以上的專業版。
(一)、非Access數據庫的新建及庫結構的修改VB專業版中的數據庫存取對象變量可以分為兩類,一類用于數據庫結構的維護和管理,另一類用于數據的存取。其中表示數據庫結構時可以使用下面的對象:
DataBase、TableDef、Field、Index,以及三個集合(Collection):TableDefs、Fields和Indexes。
每一個集合都是由若干個對象組成的,這些數據對象的集合可以完全看作是一個數組,并按數組的方法來調用。一旦數據庫對象建立后,就可以用它對數據庫的結構進行修改和數據處理。對于非Access數據庫,大部分都是對應于一個目錄,所以可以使用VB的MkDir語句先生成一個目錄,亦即新建一個數據庫。而每一個非Access數據庫文件可看作是此目錄下的一個數據表(Table),但實際上它們是互相獨立的。下面是新建一個FoxPro2.5格式數據庫的程序實例。
SubCreateNew()
DimDb1Asdatabase,TdAsTableDefs
DimT1AsNewTabledef,F1AsNewField,F2AsNewField,F3AsNewField
DimIx1AsNewIndex
DimPathAsString
ConstDB_TEXT=10,DB_INTEGER=3ChDir"/"
Path$=InputBox("請輸入新路徑名:","輸入對話框")
MkDirPath$'新建一個子目錄
SetDb1=OpenDatabase(Path$,True,False,"FoxPro2.5;")
SetTd=Db1.TableDefs
T1.Name="MyDB"'新建一個數據表,數據表名為MyDB
F1.Name="Name",F1.Type=DB_TEXT,F1.Size=20F2.Name="Class",F2.Type=DB_TEXT,F2.Size=20F3.Name="Grade",F3.Type=DB_INTEGERT1.Fields.AppendF1'向數據表中添加這些字段
T1.Fields.AppendF2->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人激情在线观看| 美日韩精品视频免费看| 亚洲精品v欧美精品v日韩精品| 亚洲精品电影在线| 国产精品成熟老女人| 亚洲成人av在线| 日韩中文在线观看| 欧美黑人性生活视频| 欧美三级xxx| 欧美巨猛xxxx猛交黑人97人| 国产精品久久久久久五月尺| 国产精品黄色影片导航在线观看| 2018日韩中文字幕| 国产精品十八以下禁看| 欧美日韩亚洲系列| 亚洲国产一区自拍| 久久久视频在线| 欧美国产激情18| 中文字幕自拍vr一区二区三区| 精品视频久久久久久久| 中文字幕亚洲综合久久| 亚洲一区二区三区在线免费观看| 91精品国产综合久久香蕉的用户体验| 岛国av午夜精品| 91精品国产九九九久久久亚洲| 欧美日韩亚洲天堂| 久久亚洲精品一区二区| 国产精品久久999| 97视频在线播放| 国产欧美日韩综合精品| 国产香蕉精品视频一区二区三区| 精品国产91久久久久久| 亚洲欧美综合图区| 最好看的2019的中文字幕视频| 91在线视频精品| 亚洲最大在线视频| 亚洲午夜性刺激影院| 91在线免费看网站| 亚洲精品美女在线| 性欧美亚洲xxxx乳在线观看| 久久躁日日躁aaaaxxxx| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产亚洲美女久久| 久久精品电影一区二区| 色婷婷av一区二区三区久久| 国产精品久久久久久av福利| 青青草99啪国产免费| 日韩经典中文字幕在线观看| 亚洲永久在线观看| 综合国产在线观看| 欧美老少做受xxxx高潮| 国产精品福利无圣光在线一区| 一本大道香蕉久在线播放29| 日韩经典中文字幕在线观看| 亚洲精品永久免费精品| 欧洲日本亚洲国产区| 亚洲欧美日韩天堂| 成人国产精品色哟哟| 欧美高清不卡在线| 欧美亚洲激情在线| 日韩精品极品在线观看播放免费视频| www.久久久久久.com| 欧美在线视频免费播放| 亚洲欧美日韩爽爽影院| 中文字幕精品—区二区| 久久精品国产视频| 欧美成人sm免费视频| 91av免费观看91av精品在线| 亚洲第一区在线| 欧美孕妇孕交黑巨大网站| 在线播放国产一区二区三区| 亚洲影院色无极综合| 国产精品美女在线观看| 国产做受高潮69| 国产在线999| 久久久久久久国产精品视频| 亚洲国产精品久久| 欧美激情视频网址| 97av在线播放| 亚洲国产成人精品电影| 亚洲欧美国产精品| 亚洲午夜性刺激影院| 精品久久久91| 久久综合久中文字幕青草| 亚洲天堂av女优| 黑人精品xxx一区| 国产亚洲精品久久久久久777| 日韩视频一区在线| 国产精品高潮在线| 亚洲色图综合久久| 久久综合88中文色鬼| 国产欧美日韩91| 亚洲国产欧美精品| 亚洲美女福利视频网站| 午夜精品久久久久久久久久久久| 91亚洲精品久久久| 国产精品一久久香蕉国产线看观看| 亚洲午夜久久久久久久| 日韩成人免费视频| 中文字幕亚洲无线码a| …久久精品99久久香蕉国产| 欧美黄网免费在线观看| 中文字幕在线看视频国产欧美在线看完整| 国产精品视频精品视频| 国产人妖伪娘一区91| 久久影视电视剧免费网站| 大胆欧美人体视频| 国产欧美精品日韩精品| 久久男人av资源网站| 日韩有码视频在线| 欧美黑人性视频| 精品欧美一区二区三区| 久久男人资源视频| 亚洲成人黄色在线观看| 亚洲电影免费在线观看| 日韩一区二区三区xxxx| 国产一区二区色| 久久久久99精品久久久久| 亚洲va久久久噜噜噜久久天堂| 日韩av电影在线播放| 精品国产乱码久久久久酒店| 国产精品久久久久9999| 久久久亚洲精选| 国产美女久久精品香蕉69| 日韩免费av一区二区| 在线精品国产欧美| 欧美—级a级欧美特级ar全黄| 777国产偷窥盗摄精品视频| 正在播放欧美一区| 欧美精品www| 中文字幕国产精品久久| 色悠悠久久88| 欧美大码xxxx| 韩国日本不卡在线| 国产自产女人91一区在线观看| 久久影视电视剧免费网站清宫辞电视| 久久夜精品va视频免费观看| 久久99国产精品自在自在app| 欧美性开放视频| 国产精品久久久久久av福利软件| 国模私拍视频一区| 国产精品日韩在线一区| 欧美日韩第一视频| 欧美性高潮床叫视频| 欧美裸体xxxx极品少妇| 国产精品久久久久久av福利软件| 国产精自产拍久久久久久| 国产精品美女久久久免费| 69国产精品成人在线播放| 国产精品男女猛烈高潮激情| 国产精品对白刺激| 久久色免费在线视频| 欧美电影免费观看网站| 亚洲天堂免费在线| 欧美日韩国产中文字幕| 伊人久久免费视频| 欧美大奶子在线| 不卡伊人av在线播放| 国产成人精品电影| 国产精品久久久久9999| 亚洲最新视频在线| 亚洲天堂免费观看| 久久久久亚洲精品成人网小说| 久久九九全国免费精品观看|