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

如何藉由使用 Visual C# 與 ADO 和 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#,ActiveX 資料物件 (ADO) 與 Microsoft Exchange OLE DB (ExOLEDB) 提供者建立連絡人。

其他相關資訊

如果要建立使用 ADO 和 EXOLEDB 提供者的連絡人,藉由使用 Visual C# ,請依照下列步驟執行:
  1. 啟動 Microsoft Visual Studio.NET 或 Microsoft Visual Studio 2005。
  2. 在 [檔案] 功能表上指向 [新增],然後按一下 [專案]。
  3. Visual C# 專案類型] 清單中,按一下 [主控台應用程式]。

    根據預設值,Class1.cs,即建立。


    附註2005 年 Microsoft Visual C# 按一下 [Visual C#] 下的 [主控台應用程式]。根據預設值,Program.cs,即建立。
  4. 將參考加入至 [Microsoft ActiveX 資料物件 2.5 庫。如果要執行這項操作,請依照下列步驟執行:
    1. 在 [專案] 功能表上按一下 [加入參考]。
    2. 按一下 [COM] 索引標籤,找出 Microsoft ActiveX 資料物件 2.5 媒體櫃,然後再按一下 [選取

      附註 2005 年 Microsot Visual C# 並不需要按一下 [選取
    3. 在 [加入參考] 對話方塊中,按一下 [確定]
    4. 提示您產生您所選取的程式庫的包裝函式時,按一下 [是]
    附註只能透過 COM Interop 支援 Microsoft 共同作業資料物件的 [Exchange 2000] (CDOEX)。
  5. In the code window, replace the code with the following:
    using System;
    
    namespace Samples
    {
    	class Class1
    	{
    		static void Main(string[] args)
    		{
    			try 
    			{
                            // TODO: Replace with your item URL
    			string sURL = "http:/<ExchServer>/Exchange/<UserAlias>/Contacts/Test.eml";
     			
    			ADODB.Connection oCn = new ADODB.Connection();
    			ADODB.Record oRc = new ADODB.Record();
    			ADODB.Fields oFields;
    
    			oCn.Provider = "exoledb.datasource";
    
    			oCn.Open(sURL, "", "", 0);  
    			if(oCn.State == 1)
    			{
    				Console.WriteLine("Connection Successful");
    			}
    			else
    			{
    				Console.WriteLine("Connection Unsuccessful");
    				return;
    			}			
    			
    			oRc.Open(sURL, oCn, 
    				ADODB.ConnectModeEnum.adModeReadWrite, 
    				ADODB.RecordCreateOptionsEnum.adCreateNonCollection,
    				ADODB.RecordOpenOptionsEnum.adOpenRecordUnspecified,
    				"", "");
    			
    			oFields = oRc.Fields;
    
    			oFields["DAV:contentclass"].Value = "urn:content-classes:person";
    			oFields["http://schemas.microsoft.com/exchange/outlookmessageclass"].Value = "IPM.Contact";
    			oFields["urn:schemas:contacts:cn"].Value = "David Jones";
    			oFields["urn:schemas:contacts:nickname"].Value = "Dave";
    			oFields["urn:schemas:contacts:title"].Value = "Engineer";
    			oFields["urn:schemas:contacts:department"].Value = "Department Name";
    			oFields["urn:schemas:contacts:email1"].Value = "someone@example.com";
    
    			
    			oFields.Update();
    
    
    			oCn = null;
    			oRc = null;
    			oFields = null;
    			}
    			catch (Exception e)
    			{
    				Console.WriteLine("{0} Exception caught.", e);
    			}			
    		}
            }
    }
  6. 在程式碼中搜尋 TODO 並再修改您的環境的程式碼。
  7. 按下 F5 以建置並執行程式。
  8. 請確定指定的資料夾中建立連絡人。

?考

如需詳細資訊請造訪下列 MSDN 網站:
http://msdn2.microsoft.com/en-us/exchange/default.aspx (http://msdn2.microsoft.com/en-us/exchange/default.aspx)
如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
813349? (http://support.microsoft.com/kb/813349/ ) 對於 Microsoft Exchange API 支援原則與.NET Framework 應用程式

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