本文歡迎非商業用途的轉載,但需要注明出自“編程入門網”及相應的網址鏈接。
下面我們給出一個連接到Access數據庫的實例,此例中用到的數據庫為Access 2003。首先在e盤建立一個名為vb的文件夾,然後打開Access 2003,單擊“文件”→“新建”,在右側出現的任務窗格中單擊“空數據庫”,在出現的對話框中,我們在"文件名"項後輸入給新數據庫起的名稱並選擇保存位置,這裡我們為新數據庫命名為Access_db並保存到我們剛才建立的文件夾中,如下圖,單擊"創建"按鈕後,系統就生成了一個新的Access空數據庫。
在空數據庫中,還沒有任何用戶所創建的表,接下來我們就要使用設計器(如下圖)為Access_db數據庫建立表。
首先我們為Access_db創建一個名為“wzdz”的表,該表由以下4個字段組成:
(1)編號:此為Access自動添加的主鍵字段,我們直接拿來使用。我們可直接設置後三個字段,在輸入完了wzdz表的各個字段之後,此時關閉表設計器,Access會提示是否要進行保存表,選擇“是”,然後為表起名為“wzdz”。因為沒有定義主鍵(primary Key),Access會提示為表加上一個主鍵,按提示將編號設置為主鍵即可。
(2)後三個字段分別為網站名稱、網站地址和網站描述,三個字段的屬性是相同的,如下:
▲數據類型:文本。
▲字段大小:50
▲有效性規則:無。
▲必填字段:否
▲允許空字符串:否
▲索引:無
設置完以上字段後,再重新在設計視圖中打開wzdz表(方法:在設計器中右擊wzdz表名,選“設計視圖”命令),應如下圖所示:
有了數據庫和表之後,如果想讓VB應用程序訪問數據庫,還需進行數據源的配置。只有在配置完成了數據源之後,才能讓VB應用程序同數據庫進行正確的連接工作,在VB應用程序中才可以通過ADO對象來進行具體數據的操作,如果在建立了數據庫之後沒有對數據源進行配置或者對數據源的配置工作出現錯誤,則在此之前所做的一切工作都是白費的。
我們按上一章所述的步驟進行ODBC數據源的配置,建立一個名為Access_db的用戶DSN,接下來我們使用VB去具體地連接到Access_db數據庫。
首先打開VB,新建一個標准exe工程,在工程的form1中我們輸入如下的代碼:
Private Sub Form_Load() Dim cnn As ADODB.Connection Dim my_recordset As ADODB.Recordset Dim connect_string As String Dim statestring As String Set cnn=New ADODB.Connection Set my_recordset=New ADODB.Recordset '連接Access數據庫 connect_string="DSN=Access_db;UID=;PSW=" cnn.Open connect_string Select Case cnn.State Case adStateClose statestring="adStateClosed" Case adStateOpen statestring="adStateOpen" End Select '顯示連接的狀態 MsgBox "連接成功!",,statestring '對wzdz表進行查詢操作 my_recordset.Open "Select * from wzdz",cnn my_recordset.Close End Sub
本段連接數據庫的代碼是寫在窗體的Form_Load()子過程中的,對數據庫的連接工作是在程序一開始即窗體的加載過程中進行的。在Form_Load()中,首先定義了一個Connection對象cnn和一個RecordSet對象my_recordset,以及兩個字符串類型的變量connect_string和statestring,接下來的兩個Set語句是為了生成一個Connection對象cnn和一個RecordSet對象my_recordset。然後是連接Access數據庫,先把連接字符串“DSN=Access_db;UID=;PSW="賦給字符串變量connect_string。連接字符串中的具體各項內容是根據ODBC數據源的配置而定的,不同的配置方式和配置內容就會有不同的連接字符串。cnn的Open事件用來執行與數據庫的連接工作。為了驗證與數據庫的連接是否正確,這裡我們讀取了cnn的State屬性。State屬性可用用來說明其對象狀態是打開或關閉的。在使用了State屬性後,通過系統函數MsgBox把與數據庫的連接狀態顯示給用戶。如果連接狀態是打開的,對話框標題欄的文字是“adStateOpen",如下圖:
如果連接狀態是關閉,則對話框標題欄顯示“adStateClose”。
其後的語句my_recordset.Open "Select * from wzdz ",cnn則示范了如何從數據庫中查詢所需要的數據。
注意:在程序中每當用一個Set語句來生成一個Connection或RecordSet對象時,最後使用完畢之後應操作使用Close方法對其進行關閉操作。
例程調試中可能出現的問題:
上述代碼運行時可能會顯示"用戶定義類型未定義",錯誤定位在“Dim cnn As ADODB.Connection”這一句上。
解決方法:單擊“工程”→“引用”,勾選“Microsoft ActiveX Data Object 2.6”,再運行程序即無此問題。
查看全套“vb神童教程(續)”