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

Como enumerar todos os campos de um objeto usando a biblioteca CDOEX e o provedor ExOLEDB no Visual Basic .NET

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
Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 310203  (http://support.microsoft.com/kb/310203/ ) .

Nesta página

Expandir tudo | Recolher tudo

INTRODUÇÃO

Este artigo descreve como usar o Microsoft CDO (Collaboration Data Objects) para Microsoft Exchange 2000 Server biblioteca (CDOEX) para enumerar todos os campos de um objeto no Microsoft Visual Basic. NET.

Observação Para certificar-se de que o código funciona corretamente, você deve executar o código em um servidor do Exchange.

Mais Informações

Requisitos

Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • Microsoft provedor Exchange OLE DB (ExOLEDB)
  • Programação com ActiveX Data Objects Library

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Microsoft Visual Studio .NET
  • Microsoft Exchange 2000 Server
Para criar um exemplo que lista todos os campos de um objeto, execute essas etapas:
  1. Inicie o Visual Studio NET..
  2. No menu arquivo , clique em novo e, em seguida, clique em Project .
  3. Em tipos de projetos do Visual Basic , clique em Aplicativo de console .

    Por padrão, Module1.vb é criado.
  4. Adicione uma referência para o Microsoft CDO para Exchange 2000 Library. Para fazer isso, execute as seguintes etapas:
    1. No menu Project , clique em Add Reference .
    2. Na guia COM , clique em Microsoft CDO para Exchange 2000 Library e, em seguida, clique em Selecionar .
    3. Na caixa de diálogo Add References , clique em OK para aceitar as seleções.
    4. Clique em Sim se você receber uma mensagem para gerar wrappers para as bibliotecas que você selecionou.
  5. Repita as etapas anteriores para adicionar uma referência para o ActiveX Data Objects 2.5 Library.
  6. Substituir todo o código na janela de código com o seguinte código:
    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. Modifique a linha de código que começa com o TODO.
  8. Pressione F5 para criar e executar o programa.
  9. Verifique se que os campos do objeto especificado são enumerados.

Referências

Para obter informações adicionais sobre ExOLEDB, visite a seguinte site da Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/ms876455.aspx (http://msdn.microsoft.com/en-us/library/ms876455.aspx)
Para obter informações adicionais sobre o recurso Colaboração do mapa de objetos de dados, visite o seguinte site da MSDN:
http://msdn.microsoft.com/en-us/library/ms978698.aspx (http://msdn.microsoft.com/en-us/library/ms978698.aspx)

Para obter informações adicionais sobre CDOEX, visite o seguinte site da MSDN:
http://msdn.microsoft.com/en-us/library/ms877946.aspx (http://msdn.microsoft.com/en-us/library/ms877946.aspx)


A informação contida neste artigo aplica-se a:
  • 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
Palavras-chave: 
kbmt kbhowto KB314378 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: 314378  (http://support.microsoft.com/kb/314378/en-us/ )