文章編號: 314378 - 上次校閱: 2007年11月29日 - 版次: 2.3

如何使用 [Visual Basic.NET 中的 [CDOEX 程式庫和 ExOLEDB 提供者來列舉物件的所有欄位

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
警告 在 ADO 和 ADO MD 有不被完全環境中測試 Microsoft.NET Framework。它們可能會導致間歇性問題,特別是在服務為基礎的應用程式或在多執行緒應用程式中。本文中討論的技術應該只用於為暫時的量值 ADO.NET 的移轉過程。之後您有進行完整的測試,以確定是沒有相容性問題,您應該只使用這些技巧。利用這種方式中的 ADO 或 ADO MD 造成的問題是不受支援。如需詳細資訊請參閱下列的 「 Microsoft 知識庫 」 中的文件:
840667 ? (http://support.microsoft.com/kb/840667/ ) 在.NET Framework 應用程式中使用 ADO 和 ADO MD 時,您會收到未預期的錯誤
本文章的有 Microsoft Visual C#.NET] 版本請參閱 310203? (http://support.microsoft.com/kb/310203/ )

在此頁中

全部展開 | 全部摺疊

簡介

本文將告訴您,如何使用 Microsoft 共同作業資料物件 (CDO) 的 [Microsoft Exchange 2000 Server 程式庫 (CDOEX) 來列舉物件在 Microsoft Visual Basic.NET 中的所有欄位。

附註若要確定程式碼正常運作,您必須在 Exchange 伺服器上執行程式碼。

其他相關資訊

需求

本文假設您已熟悉下列主題:
  • Microsoft Exchange OLE DB (ExOLEDB) 提供者
  • 使用 ActiveX 資料物件程式庫進行程式設計

下列清單列出建議的硬體、 軟體、 網路基礎結構及您需要的服務套件:
  • Microsoft Visual Studio.NET
  • Microsoft Exchange 2000 伺服器
若要建立列出物件的所有欄位的範例,請依照下列步驟執行:
  1. 啟動 Visual Studio.NET。
  2. 在 [檔案] 功能表上按一下 [新增],然後按一下 [專案]。
  3. Visual Basic 專案類型,] 下方按一下 [主控台應用程式]。

    根據預設值,Module1.vb,即建立。
  4. 加入 Microsoft CDO 的 Exchange 2000 文件庫的參考。要這麼做,請您執行下列步驟:
    1. 在 [專案] 功能表上按一下 [加入參考]。
    2. 在 [COM] 索引標籤上按一下 Exchange 2000 文件庫的 Microsoft CDO,然後再按一下 [選取]。
    3. 在 [加入參考] 對話方塊中,按一下 [確定] 以接受您的選擇。
    4. 如果您收到一則訊息,以產生您所選取的程式庫的包裝函式,請按一下 [是]
  5. 重複前一個步驟,將參考加入至 [Microsoft ActiveX 資料物件 2.5 庫。
  6. 在程式碼視窗中的所有程式碼取代下列程式碼:
    Module Module1
    
        Sub Main()
            Dim oCn As ADODB.Connection = New ADODB.Connection()
            Dim oRc As ADODB.Record = New ADODB.Record()
    
            Dim oFields As ADODB.Fields
            Dim oField As ADODB.Field
    
            ' TODO: Replace with your object URL (folder or item).
            Dim sFdUrl As String
            sFdUrl = "http://<ExchServer>/Exchange/<UserAlias>/Inbox"
    
            oCn.Provider = "exoledb.datasource"
            oCn.Open(sFdUrl, "", "", -1)  
    
            If oCn.State = 1 Then
                Console.WriteLine("Good Connection")
            Else
                Console.WriteLine("Bad Connection")
                Return
            End If
    
            oRc.Open(sFdUrl, oCn, _
             ADODB.ConnectModeEnum.adModeReadWrite, _
             ADODB.RecordCreateOptionsEnum.adFailIfNotExists, _
             ADODB.RecordOpenOptionsEnum.adOpenSource, _
             "", "")
    
            If oRc.State = ADODB.ObjectStateEnum.adStateOpen Then
                Console.WriteLine("Record Open Success")
            Else
                Console.WriteLine("Record Open Fails")
                Return
            End If
    
            ' List all the fields.
            oFields = oRc.Fields
            Dim i As Integer
            For i = 0 To oFields.Count - 1
                oField = oFields.Item(i)
                Console.WriteLine("{0} : {1}", oField.Name, oField.Value)
            Next
    
            oRc.Close()
            oCn.Close()
    
            oCn = Nothing
            oRc = Nothing
            oFields = Nothing
            oField = Nothing
        End Sub
    
    End Module
    					
  7. 修改以 TODO 開頭的程式碼行。
  8. 按下 F5 以建置並執行程式。
  9. 請確認指定的物件欄位會列舉。

?考

取得更多資訊有關 ExOLEDB 請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn.microsoft.com/en-us/library/ms876455.aspx (http://msdn.microsoft.com/en-us/library/ms876455.aspx)
如需有關共同作業的詳細資訊資料物件藍圖請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/ms978698.aspx (http://msdn.microsoft.com/en-us/library/ms978698.aspx)

取得更多資訊有關 CDOEX 請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/ms877946.aspx (http://msdn.microsoft.com/en-us/library/ms877946.aspx)


這篇文章中的資訊適用於:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Collaboration Data Objects for Exchange 2000
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft ActiveX Data Objects 2.6
  • Microsoft ActiveX Data Objects 2.7
關鍵字:?
kbmt kbhowto KB314378 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:314378? (http://support.microsoft.com/kb/314378/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。