使用Visual Basic訪問資料庫幾個注意的問題 (轉)

worldblog發表於2007-12-12
使用Visual Basic訪問資料庫幾個注意的問題 (轉)[@more@]使用訪問幾個注意的問題
作者:張嶸 Visual Basic 3.x For 是一門開發Windows應用很好的一種語言,使用它能夠開發出大型的應用。它具有訪問各種資料庫的功能。下面將談談用VB訪問資料庫應注意的幾個問題。
一、如何來訪問資料庫。VB訪問資料庫提供二種方法,其一是用資料控制,其二是使用來訪問資料庫。在這兩種方法中,都涉及到資料庫的屬性:connect,databasename,exclusive,options,readonly,recordsoure。這些屬性很多書上都有介紹,筆者不再詳述。但有時你按書上介紹設定好connect,databasename後再設定recordsoure時,經常會出現“無法找到可的ISAM”錯誤。這裡所講的[ISAM]是在VB.INI中,它為VB指明所訪問資料庫的動態連結庫。而在connect中所用的資料庫的名稱必須於[ISAM]中的資料庫的名稱相符合,這樣就可以輕鬆地開啟資料庫。

二、關於書籤指標即bookmark屬性。在VB訪問資料庫時,資料庫中的記錄是沒有記錄號的。但VB提供了bookmark屬性來記錄當前訪問記錄的記錄指標。這個bookmark就相當於記錄號。但筆者在時發現在使用資料庫控制和用物件開啟資料庫來訪問同一個資料庫時的bookmark屬性在這兩者之間並不通用。當你用bookmark記錄了用資料控制開啟的資料庫的當前記錄指標,然後使用物件開啟此資料庫後,用資料控制的bookmark來查詢定位記錄時,將會導致bookmark不合法的錯誤。

三、要注意h方法和unload方法的區別。Hide方法是將你所指定的表單隱藏起來,但並不從中刪除它,故此表單的內容並沒有改變。而unload方法是將指定的表單刪除掉(從螢幕上消失並從記憶體中刪除)。如你在當前表單中使用格子控制來顯示記錄內容,然後用hide方法隱藏此表單,隨後你重新選定記錄裝入格子控制,用show方法顯示隱藏的表單,此時格子裡的內容依然是舊的內容而新內容並沒有代替舊內容。這裡就需要使用unload方法將表單刪除,然後新記錄裝入格子控制,用show方法顯示時,就可以看到新的內容。

四、要注意變數型別的匹配。在訪問資料庫時,顯示記錄一般都使用格子控制。其中grid.text是子符串型別。但有些記錄的資料項是空的(null)即沒有資料。若將null裝入grid.text顯然會出錯。所以這裡就需要加入型別的判斷,將null資料項賦於空格子符串,這樣就可以解決此問題。

五、如何實現網格式列印資料庫記錄。VB所提供的印表機輸出物件有表單、文字框、圖片框和報表。這裡可以使用報表控制來實現網格式列印輸出。但報表控制需要報表格式檔案.prt。此檔案由VB提供的報表編輯器來設計你所需要的報表格式。而產生的報表檔案是輸出資料庫的所有記錄,但往往我們只需要資料庫中符合條件的部分記錄。如何實現部分記錄的網格式列印呢?筆者所用的方法是用報表編輯器設計一個連線空的資料庫檔案,然後在程式執行中將符合條件的部分記錄裝入空的資料庫中,再使用報表控制來列印輸出,這樣就可以實現任何你所需要資料的報表列印輸出。

六、要注意系統的DLL(dynamic-link libraries,動態連結程式庫)。VB是一種高階語言,不具備低階語言的一些功能,它本身對於訪問機器等操作比較困難。若透過DLL呼叫Windows應用程式介面(),就可以方便地訪問硬體。系統的DLL有keynel庫,gdi庫和user庫,其中keynel庫負責記憶體管理和,gdi庫負責顯示和列印功能,user 負責鍵盤、滑鼠、、通訊、系統定時的管理。同時,VB也可以呼叫任何語言所編寫的DLL。所以要想編出高質量的應用程式就必須學會如何呼叫DLL來實現所需的功能。
總之,Visual Basic語言有著各種強大的功能,以上所講的只是筆者程式設計時的一些小,希望能夠給廣大讀者帶來幫助。

□山東 張嶸

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991772/,如需轉載,請註明出處,否則將追究法律責任。

相關文章