ID do artigo: 310207 - Última revisão: quinta-feira, 29 de novembro de 2007 - Revisão: 3.3

Como usar o ADO e o provedor OLE DB do Exchange 2000 para procurar por itens em uma pasta usando translation from VPE for Csharp Visual

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
cuidado ADO e ADO MD não foram totalmente testados em um ambiente Microsoft .NET Framework. Eles podem causar problemas intermitentes, especialmente em aplicativos baseados em serviço ou em aplicativos multissegmentados. As técnicas descritos neste artigo só devem ser usadas como uma medida temporária durante a migração para o ADO.NET. Você só deve usar essas técnicas depois de ter conduzido teste completo para verificar não se estão nenhum problema de compatibilidade. Quaisquer problemas que são causados por usando ADO ou ADO MD dessa maneira não são suportados. Para obter mais informações, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
840667   (http://support.microsoft.com/kb/840667/ ) Você receber erros inesperados ao usar o ADO e ADO MD em um aplicativo .NET Framework
Expandir tudo | Recolher tudo

Sumário

Este artigo descreve como usar o ActiveX Data Objects (ADO) e o provedor do Microsoft Exchange 2000 Server OLE DB para procurar por itens em uma pasta usando o Microsoft Visual translation from VPE for Csharp .NET ou Microsoft Visual translation from VPE for Csharp 2005.

Mais Informações

  1. Inicie o Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005.
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
  3. Na lista tipos de projetos translation from VPE for Csharp Visual , clique em Aplicativo de console . Por padrão, o arquivo Class1.cs é criado.

    Observação No Microsoft Visual translation from VPE for Csharp 2005, clique em translation from VPE for Csharp Visual . Por padrão, o arquivo Program.cs é criado.
  4. Adicione uma referência para o ActiveX Data Objects 2.5 Library. Para fazer isso, execute estas etapas:
    1. No menu Project , clique em Add Reference .
    2. Clique na guia COM , localize Microsoft ActiveX Data Objects 2.5 Library e em seguida, clique em Selecionar .

      Observação Microsoft Visual translation from VPE for Csharp 2005, não é necessário clique em Selecionar .
    3. Na caixa de diálogo Add References , clique em OK .
    4. Se você for solicitado a gerar wrappers para as bibliotecas que você selecionou, clique em Sim .
  5. Na janela de código, substitua o código com o seguinte:
    using System;
    
    namespace Samples
    {
    	class Class1
    	{
    		static void Main(string[] args)
    		{
    			try 
    			{
    			ADODB.Connection oCn = new ADODB.Connection();
    			ADODB.Recordset oRs = new ADODB.Recordset();
    			
    
    			ADODB.Fields oFields;
    			ADODB.Field oField;
    
                            // TODO: Replace with your folder's URL.
    			string sFdUrl = "http://ExchServer/Exchange/UserAlias/Inbox";
    			
    			oCn.Provider = "exoledb.datasource";
    			oCn.Open(sFdUrl, "", "", -1);  
    
    			if(oCn.State == 1)
    			{
    				Console.WriteLine("Good Connection");
    			}
    			else
    			{
    				Console.WriteLine("Bad Connection");
    			}
    
    
    			string strSql;
    			strSql = "";
    			strSql = "select ";
    			strSql = strSql + " \"urn:schemas:mailheader:content-class\"";
    			strSql = strSql + ", \"DAV:href\" ";
    			strSql = strSql + ", \"DAV:displayname\"";
    			strSql = strSql + " from scope ('shallow traversal of " + "\"";
    			strSql = strSql + sFdUrl + "\"') ";
    			strSql = strSql + " WHERE \"DAV:ishidden\" = false";
    			strSql = strSql + " AND \"DAV:isfolder\" = false";
    
    
    			oRs.Open(strSql, oCn,
    				ADODB.CursorTypeEnum.adOpenStatic,
    				ADODB.LockTypeEnum.adLockUnspecified, 1);
    
    
    			if(oRs.State == 1)
    			{
    				Console.WriteLine("Recordset Opened");
    			}
    			else
    			{
    				Console.WriteLine("Recordset Failed Opened");
    			}
    
    			oRs.MoveFirst();
    			while(!oRs.EOF)
    			{
    				oFields = oRs.Fields;
                                        oField = oFields["DAV:href"];
    				Console.WriteLine(oField.Value);
    
    				oField = oFields["DAV:displayname"];
    				Console.WriteLine(oField.Value);
    
    				oRs.MoveNext();  
    				                             Console.WriteLine("--------------------------");
    
    			}
    
    			oRs.Close();
    			oCn.Close();
    
    			oCn = null;
    			oRs = null;
    			oFields = null;
    			oField = null;
    			}
    			catch (Exception e)
    			{
    				Console.WriteLine("{0} Exception caught.", e);
    			}			
    		}
            }
    }
    					
  6. Procure a seqüência de texto TODO no código e, em seguida, modifique o código para o seu ambiente.
  7. Pressione a tecla F5 para criar e executar o programa.

A informação contida neste artigo aplica-se a:
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft Exchange Server 2000 Service Pack 1
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005
Palavras-chave: 
kbmt kbhowto kbmsg kbxml kbcode KB310207 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 310207  (http://support.microsoft.com/kb/310207/en-us/ )