文章編號: 286189 - 上次校閱: 2003年10月15日 - 版次: 1.2

如何:在 Visual Basic 程式碼中呼叫 OLE DB 資料連結屬性對話方塊

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
本文曾發行於 CHT286189
全部展開 | 全部摺疊

結論

這個 [OLE DB 資料連結屬性] 對話方塊通常用來定義或編輯 ADO Data 控制項、Visual Basic 6.0 DataEnvironment 連接物件和 Universal Data Link (UDL) 檔案的 ActiveX Data Object (ADO) 連接字串屬性。本文記錄的程式碼範例將示範如何在 Visual Basic 應用程式中以程式呼叫和使用這個對話方塊,以便在執行時期使用圖形化使用者介面 (GUI) 驅動程式介面來建構「ADO 連接」物件的連接字串。在實作可能需要使用者在執行時期指定 ADO 連接字串的應用程式或工具時,這是很有用的功能。

其他相關資訊

這個 OLE DB Service Component 1.0 Type Library (oledb32.dll) 由 Microsoft Data Access Components (MDAC) 安裝,實作一個物件稱為 DataLinks ,其 PromptEdit PromptNew 方法可以呼叫和使用 [OLE DB 資料連結屬性] 對話方塊來定義或編輯 ADO 連接字串。

下列步驟設定的 Visual Basic 範例將示範如何使用 OLE DB Service Component 1.0 Type Library DataLinks 物件來編輯 ADO 連接物件的連接字串屬性:
  1. 在 Visual Basic 中開啟新的「標準執行檔」專案。依預設設定會建立 Form1。
  2. [專案] 功能表中,設定 Microsoft ActiveX Data Objects 2.x Library 以及 OLE DB Service Component 1.0 Type Library 的參照。
  3. 拖放 [CommandButton] 至 Form1 上,然後將其標題設為 [定義連接]
  4. 複製下列程式碼並貼入 Form1 的程式碼模組中:
    Dim cn As ADODB.Connection
    
    Private Sub Command1_Click()
    
    Dim MSDASCObj As MSDASC.DataLinks
    Set MSDASCObj = New MSDASC.DataLinks
    
    Set cn = New ADODB.Connection
    MSDASCObj.PromptEdit cn
    
    cn.Open
    MsgBox "Connection opened successfully"
    cn.Close
    End Sub
  5. 儲存此專案後執行。
  6. 按一下 [定義連接] ,注意到在 CommandButton 的 Click 事件程序中的程式碼會建立 MSDASC.DataLinks 物件,然後執行其 PromptEdit 方法來顯示 [OLE DB 資料連結屬性] 對話方塊。這個對話方塊會以強制回應視窗顯示。結果,跟隨在這個呼叫 PromptEdit 方法之後的程式碼並未執行,直到關閉 [資料連結屬性] 對話方塊。
  7. [提供者] 標籤中選取適當的 OLEDB 提供者,然後指定其他連接屬性以建立某一個資料庫 (Access、SQL Server、Oracle 等等) 的連接。
  8. 按一下 [資料連結屬性] 對話方塊中的 [測試連接] 以測試連接。注意到如果連接成功,您會收到 [測試連接成功] 訊息方塊。按一下 [確定] 以關閉此對話方塊。 現在會執行 CommandButton 的 Click 事件程序中其餘的程式碼。ADO 連接 物件的 ConnectionString 屬性會被當作 PromptEdit 方法的參數傳送,根據您在 [資料連結屬性] 對話方塊中選取的設定值來初始化。

    跟隨在呼叫 MSDASC.DataLinks 物件的 PromptEdit 方法之後的陳述式,會使用呼叫 PromptEdit 方法所初始化的「ADO 連接」物件來開啟和關閉「ADO 連接」。如此會確認「ADO 連接」物件的 ConnectionString 屬性已正確設定,以您在 [資料連結屬性] 對話方塊中選取的選項為依據。如果按 [資料連結屬性] 對話方塊中的 [取消] ,則 Visual Basic 程式碼中的 cn.Open 陳述式會產生執行時期錯誤,表示它無法使用未初始化的 ConnectionString 來建立連接。

    注意 :您可以檢查連接的 ConnectionString 以確認它是否為空白 (""),然後判斷 connection.open 陳述式之前是否按下 [取消]

?考

本文件是根據 Microsoft Knowledgebase 文件編號 Q286189 翻譯的。若要參考原始英文文件內容,請至以下網址:

http://support.microsoft.com/support/kb/articles/Q286/1/89.asp (http://support.microsoft.com/kb/286189/en-us?ln=en-us&sd=gn&fr=0)

這篇文章中的資訊適用於:
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition Service Pack 3
  • Microsoft Visual Basic 6.0 Enterprise Edition Service Pack 4
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft OLE DB 2.0
  • Microsoft OLE DB 2.1
  • Microsoft OLE DB 2.5
  • Microsoft OLE DB 2.6
  • Microsoft ActiveX Data Objects 2.0
  • Microsoft ActiveX Data Objects 2.01
  • Microsoft ActiveX Data Objects 2.1
  • Microsoft ActiveX Data Objects 2.1 Service Pack 1
  • Microsoft ActiveX Data Objects 2.1 Service Pack 2
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft ActiveX Data Objects 2.6
  • Microsoft ActiveX Data Objects 2.7
關鍵字:?
kbhowto kbadosearch kbmdac270 kbado270 kbvbp kbvbp500 kbgrpdsvbdb kbvbp600 kboledb kbatm KB286189
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。