Artigo: 314378 - Última revisão: quinta-feira, 29 de Novembro de 2007 - Revisão: 2.3

A enumerar todos os campos de um objecto utilizando a biblioteca CDOEX e o fornecedor 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.
atenção ADO and ADO MD não foram totalmente testados num ambiente de Microsoft .NET Framework. Podem provocar problemas intermitentes, especialmente nas aplicações baseadas em serviços ou nas aplicações multithread. As técnicas que são discutidas neste artigo só devem ser utilizadas como uma medida temporária durante a migração para ADO.NET. Só deverá utilizar estas técnicas depois realizados concluída testar para se certificar que estão sem problemas de compatibilidade. Problemas causados por utilizar ADO ou ADO MD desta forma não são suportados. Para mais informações, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
840667   (http://support.microsoft.com/kb/840667/ ) É apresentada erros inesperados quando utilizar o ADO and ADO MD numa aplicação do .NET Framework
Para obter uma Microsoft Visual C# .NET versão deste artigo, consulte 310203  (http://support.microsoft.com/kb/310203/ ) .

Nesta página

Expandir tudo | Reduzir tudo

INTRODUÇÃO

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

Nota Para se certificar de que o código funciona correctamente, tem de executar o código de um Exchange Server.

Mais Informação

Requisitos

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

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que necessita:
  • Microsoft Visual Studio .NET
  • Microsoft Exchange 2000 Server
Para criar uma amostra que lista todos os campos de um objecto, siga estes passos:
  1. Inicie o Visual Studio NET..
  2. No menu ficheiro , clique em Novo e, em seguida, clique em projecto .
  3. Em tipos de projectos do Visual Basic , clique em Consola de aplicação .

    Por predefinição, é criado Module1.vb.
  4. Adicione uma referência para o Microsoft CDO for Exchange 2000 Library. Para o fazer, siga estes passos:
    1. No menu projecto , clique em Add Reference .
    2. No separador COM , clique em Microsoft CDO for Exchange 2000 Library e, em seguida, clique em Seleccionar .
    3. Na caixa de diálogo Adicionar referências , clique em OK para aceitar as selecções.
    4. Clique em Sim se receber uma mensagem para gerar wrappers para as bibliotecas que seleccionou.
  5. Repita os passos anteriores para adicionar uma referência à Microsoft ActiveX Data Objects 2.5 Library.
  6. Substituir todos os códigos na janela de código 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. Prima F5 para criar e executar o programa.
  9. Certifique-se que os campos de objecto especificado são enumerados.

Referências

Para obter informações adicionais sobre ExOLEDB, visite o seguinte Web 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 a colaboração informações gerais sobre objectos de dados, visite o seguinte site da Web 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 Web 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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/ )