當前位置:編程學習大全網 - 編程語言 - 求access數據庫論文參考資料?

求access數據庫論文參考資料?

作為壹個功能齊全的Windows軟件開發平臺,Visual Basic專業版為數據庫應用提供了強有力的支持。特別是提供了使用數據控件和綁定控件、使用數據庫訪問對象變量、直接調用ODBC 2.0 API接口函數等三種訪問數據庫的方法。對於其標準內置的Ms Access數據庫,可以提供不亞於專業數據庫軟件的支持,可以進行完整的數據庫維護、操作和事務處理。在VB中,非Access數據庫稱為外來數據庫。對於FoxPro,dBASE,Paradox等國外數據庫。雖然這些數據庫可以借助VB的數據管理器進行操作,如新建、打開、設計、刪除等。,這些功能在應用的運行狀態下是無法從底層真正實現的。基於利用數據庫訪問對象變量的方法,實現了在非Access格式數據庫(以FoxPro數據庫為例)中新建數據庫、復制數據庫結構、動態調用等操作,從編程技巧上闡述了彌補VB對這些國外數據庫支持不足的可行性。

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

VB數據庫的核心結構是所謂的微軟JET數據庫引擎,它充當了壹個“面板”,可以在上面插入各種ISAM(索引順序存取法)數據驅動程序。JET引擎提供了對Access格式數據庫的直接內置支持,這才是VB對Access數據庫支持豐富的真正原因。

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

從上面可以看出,Ms JET引擎本質上提供了:符合ANSI標準的解析器;內存管理功能,供查詢結果集使用;支持數據庫的外部接口;為應用程序代碼提供的內部接口。事實上,在VB中,從壹種數據庫類型到另壹種數據庫類型的轉換需要很少或不需要修改代碼。而且dBASE和Paradox的DDL(數據定義語言)和DML(數據操作語言)雖然是非結構化查詢,但是仍然可以通過VB SQL語句和JET引擎進行操作。

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

二是使用非Access數據庫時配置文件的參數設置和參數讀取。如果在VB程序中使用數據庫操作,在應用程序被生成為EXE文件或打包成安裝程序後,壹個配置(。INI)文件,在其中可以設置不同類型的數據庫。如果找不到這個INI文件,您將無法訪問數據庫。通常,INI文件的文件名與應用程序的名稱相同,所以如果沒有指定,VB程序將在Windows子目錄中查找與應用程序同名的INI文件。可以在VB中使用SetDataAccessOptions語句來設置INI文件。

setdataaccessories語句的用法如下:setdataaccessories 1,IniFileName其中IniFileName參數表示INI文件的路徑文件名。值得註意的是,當應用程序找不到這個INI文件時,或者調用OpenDataBase函數時,Connect參數值並沒有設置為VB指定的標準值,例如FoxPro 2.5格式設置為“FoxPro;(應該是“FoxPro 2.5),或者沒有安裝相應的ISAM驅動,VB此時會顯示錯誤信息“未找到可安裝的ISAM”。通常,INI文件是在應用程序發布之前生成的,或者是在安裝過程中動態生成的,或者是在應用程序本身中生成的。通常,這個INI文件中有“[選項]”、“[ISAM]”、“[安裝的ISAMs]”、“[FoxPro ISAM]”、“[dBASE ISAM]”和“[Paradox ISAM]”。壹個完整的應用,還應該有壹個屬於應用本身的設置段,比如“[MyDB]。可以設置數據類型、服務器、數據庫、OpenOnStartup、DisplaySQL、QueryTimeOut等重要的數據庫參數。,從而限制了應用程序的壹般運行環境。Windows API接口函數在Kernel.exe動態鏈接庫中提供了壹個OSWritePrivateProfileString函數,可以按照配置文件的編寫格式(。INI)在Windows下。

壹般來說,應用程序還需要在運行時讀取配置文件中相關項的參數。比如PageTimeOut(頁面鎖定超時)、MaxBufferSize(緩沖區大小)和LockRetry(鎖定失敗時的重試次數)等參數,會大大提高應用運行環境的設置和潛在錯誤的捕獲。

如果這個應用程序的配置文件是MyDB。ini,具體過程如下:function getINIstring $(Byval fname $,Byval szItem$,Byval szDeFault$)'這個自定義的子函數實現了對INI文件中設置段的參數的讀取。x為整數Tmp = String( 2048,32)x = OSGetPrivateProfileString(Fname $,szItem$,szDefault$,Tmp,Len(Tmp)," MyDB。INI " ) GetINIString = Mid$( Tmp,1,x ) End

Function以下函數的聲明可以寫在模塊文件中,每個函數都必須聲明在壹行中:聲明函數osgetprivatefprofiling % Lib“Kernel”別名“getprivatefprofiling”(ByVal AppName $,ByVal KeyName$,ByVal keydefault$,ByVal ReturnString$,ByVal NumBytes As Integer,ByVal FileName$)聲明函數OSWritePrivateProfileString % Lib“Kernel”別名“WritePrivateProfileString”(ByVal AppName $,ByVal KeyName$,ByVal FileName$)

INI文件表示為各種數據庫格式安裝了相應的ISAM驅動程序X = oswriteprivateprofilestring(" installable ISAMs "," Paradox 3.x "," PDX110.dll ")。“MyDB。INI”)x = OSWritePrivateProfileString(" Installable ISAMS "," dBASE III "," XBS110。DLL "," MyDB。INI”)x = OSWritePrivateProfileString(" Installable ISAMS "," dBASE IV "," XBS110。DLL "," MyDB。INI”)x = OSWritePrivateProfileString(" Installable ISAMS "," FoxPro 2.0 "," XBS110。DLL "," MyDB。INI”)x = OSWritePrivateProfileString(" Installable ISAMS "," FoxPro 2.5 "," XBS110。DLL "," MyDB。INI”)x = OSWritePrivateProfileString(" Installable ISAMS "," Btrieve "," BTRV110。DLL "," mydb。INI”)x = oswriteprivateprofilestring(" dbase isam "," deleted "," on "," mydb.ini ")'表示INI文件的位置x = OSGetWindowsDirectory( tmp,255) st = mid $ (tmp,1,x) setdataacceptance 1,st+"/mydb。ini " '來獲取INI文件的壹些參數gwmaxgridrows = Val(GetINIString(" MyDB . INI "," MaxRows "," 250 "))glQueryTimeout = Val(GetINIString(" MyDB。INI "," QueryTimeout "," 5 "))glLoginTimeout = Val(GetINIString(" MyDB。INI "," LoginTimeout "," 20" )) End Sub

三。數據訪問對象變量編程國外數據庫的方法及實例在VB專業版數據庫編程的三種方法中,第二種方法——使用數據庫訪問對象變量(DAO)是最強大、最靈活的。可以在程序中訪問ODBC 2.0的管理功能;您可以控制各種記錄集類型:動態集、快照和表記錄集對象。可以存儲過程和查詢操作;可以訪問數據庫集合對象,如TableDefs、Fields、Indexes和QueryDefs;有真正的處理事情的能力。因此,這種方法非常適合大多數情況下的數據庫處理。

因為VB中的記錄集對象與所用數據庫的格式和類型無關,所以數據庫訪問對象變量的方法也可以用在非Access數據庫中。因此,對於FoxPro等國外數據庫,使用數據庫訪問對象變量也是最佳選擇。需要註意的是,在VB的標準版中,只能使用數據控件來訪問數據庫中的記錄,並且只能通過數據控件的屬性提供數據庫和動態集對象。其他重要的對象如TableDef、Field、Index、QueryDef、Snapshot、Table都不能在VB的標準版中生成,所以訪問數據對象變量的方法只能在VB 3.0以上的專業版中使用。

(壹)非Access數據庫的新建和數據庫結構的修改VB專業版中的數據庫訪問對象變量可以分為兩類,壹類用於數據庫結構的維護和管理,壹類用於數據訪問。以下對象可用於表示數據庫結構:

數據庫,TableDef,字段,索引,三個集合):TableDefs,字段,索引。每個集合都是由幾個對象組成的,這些數據對象的集合完全可以看作壹個數組,通過array的方法調用。壹旦建立了數據庫對象,就可以用它來修改數據庫的結構和處理數據。對於非Access數據庫,大多對應壹個目錄,所以可以使用VB的MkDir語句創建壹個目錄,即創建壹個新的數據庫。而每個非Access數據庫文件都可以看作這個目錄中的壹個表,但實際上它們是相互獨立的。

下面是壹個創建新的FoxPro 2.5格式數據庫的程序示例。

sub New()Dim DB 1 As database,Td As TableDefs Dim t 1 As New Tabledef,F1 As New Field,F2 As New Field,F3 As New Field Dim IX 1 As New index Dim Path As string const DB _ text = 10,DB _ integer = 3c dir "/" Path $ = Input box("請輸入新路徑名:"," Input對話框")MkDir Path$ '新建子目錄set DB 10)設置Td = Db1。TableDefs T1。名稱=

" MyDB " '創建壹個名為MyDB F1的新數據表。Name = "Name ",F1。Type = DB_TEXT,F1。尺寸= 20 F2。Name = "Class ",F2。Type = DB_TEXT,F2。尺寸= 20 F3。' Name = "Grade ",F3 . type = db _ integer t1 . fields . append f 1 '添加這些字段t 1。字段。將F2追加到數據表。

  • 上一篇:scratch編程對於六年級來說難嗎
  • 下一篇:編程語言有哪些?那適合初學者
  • copyright 2024編程學習大全網