Você está offline; aguardando reconexão

Como manipular vários resultados usando o DataReader no Visual translation from VPE for Csharp .NET

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: 311274
Para uma versão deste artigo do Microsoft Visual Basic. NET, consulte 309490.

Este artigo se refere aos seguintes namespaces Microsoft .NET Framework Class Library:
  • System.Data.OLEDB
  • System.Data.SqlClient

NESTA TAREFA

Sumário
Este artigo contém uma função genérica que você pode usar para processar vários conjuntos de registros e outras mensagens que são retornadas de procedimentos armazenados ou a execução de instruções de SQL em lote.

back to the top

Descrição da técnica

ActiveX Data Objects (ADO) pode receber cinco tipos diferentes de dados do servidor:
  • Recordset
  • Número de registros que são modificadas por uma consulta ação (como INSERT, UPDATE, DELETE ou SELECT INTO)
  • Aviso ou mensagem informativa
  • Mensagem de erro
  • Valores de retorno do procedimento armazenado e parâmetros de saída
Quando você lê os resultados de um instrução SQL em lote, você pode usar o método NextResult para posicionar o DataReader no resultado próximo no conjunto de resultados.

back to the top

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server ou Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
  • Microsoft SQL Server 7.0 ou posterior
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • O Visual Studio .NET
  • Conceitos básicos do ADO.NET e sintaxe
back to the top

Criar projeto e adicionar código

Este código de exemplo usa a tabela autores do SQL Server Pubs banco de dados de exemplo.
  1. Cole as instruções a seguir no SQL Query Analyzer ferramenta ou o utilitário ISQL:
    CREATE PROC MyProcAS    SELECT * FROM Authors    SELECT * FROM Authors WHERE State = 'CA'GO 					
  2. Inicie o Visual Studio NET..
  3. Crie um novo projeto Windows Application no Visual translation from VPE for Csharp NET.. Form1 é adicionado para o projeto por padrão.
  4. Verifique se seu projeto contém uma referência ao namespace System.Data e adicione uma referência a este espaço para nome se não.
  5. Coloque um botão de comando no Form1. Altere a propriedade nome do botão para btnTest e altere a propriedade Text para teste .
  6. Use a instrução usando sobre os espaços para nome System.Data.SqlClient , System.Data.OLEDB e sistema para que não é necessário para qualificar declarações esses namespaces posteriormente no seu código. Adicione o seguinte código à seção General Declarations do Form1:
    using System;using System.Data.OleDb;using System.Data.SqlClient;					
  7. Adicione o seguinte código ao evento btnTest_Click :

    Observação Você deve alterar o valor da conta de usuário ID < nome do usuário > para uma conta que tenha as permissões apropriadas para executar essas operações no banco de dados.
        String myConnString  = "User ID=<username>;password=<strong password>;Initial Catalog=pubs;Data Source=myServer";    SqlConnection myConnection = new SqlConnection(myConnString);    SqlCommand myCommand = new SqlCommand();    SqlDataReader myReader ;    myCommand.CommandType = CommandType.StoredProcedure;    myCommand.Connection = myConnection;    myCommand.CommandText = "MyProc";    int RecordCount=0;     try    {        myConnection.Open();	myReader = myCommand.ExecuteReader();	while (myReader.Read())	{ 	    //Write logic to process data for the first result.	    RecordCount = RecordCount + 1;	}	MessageBox.Show("Total number of Authors: " + RecordCount.ToString());	myReader.NextResult();	RecordCount = 0;	while (myReader.Read())	{	    //Write logic to process data for the second result.	    RecordCount = RecordCount + 1;	}	MessageBox.Show("Authors from California: " + RecordCount.ToString());    }    catch(Exception ex)     {       MessageBox.Show(ex.ToString());    }    finally    {	myConnection.Close();    }					
  8. Modificar a seqüência de conexão ( myConnString ) conforme apropriado para seu ambiente.
  9. Salve seu projeto. No menu Debug , clique em Iniciar para executar seu projeto.
  10. Clique em Test . Observe que as caixas de mensagens exibem os dados que o procedimento armazenado retorna.
back to the top
Referências
Para obter informações adicionais sobre como chamar procedimentos armazenados, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
306574Como SQL Server chamada procedimentos armazenados no ASP.NET
Para obter informações adicionais sobre tratamento de erros, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
308650Como obter erros subjacentes do provedor usando ADO.NET no Visual translation from VPE for Csharp .NET
Para obter informações adicionais sobre parâmetros e procedimentos armazenados, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
308621PROBLEMA: Parâmetros de saída não são retornados ao executar um comando ADO.NET no Visual translation from VPE for Csharp .NET
Para obter mais informações sobre objetos ADO.NET e a sintaxe, consulte o seguinte Microsoft .NET Framework Software Development Kit (SDK) documentação: back to the top
NextResult

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 311274 - Última Revisão: 05/13/2007 05:02:37 - Revisão: 3.4

Microsoft ADO.NET (included with the .NET Framework), Microsoft ADO.NET 1.1, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# .NET 2003 Standard Edition

  • kbmt kbhowtomaster kbsqlclient kbsystemdata KB311274 KbMtpt
Comentários