COMO: Usar classes base para reduzir a bifurcação com código gerenciado provedores no Visual translation from VPE for Csharp .NET

Traduções deste artigo Traduções deste artigo
ID do artigo: 313304 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Use este guia passo a passo para saber como usar classes de base para reduzir o código bifurcação com provedores gerenciados.

Descrição da técnica

ADO.NET tem tipos diferentes de provedores de dados (por exemplo, SqlClient, OleDb, ODBC e assim por diante). Se você escolher o provedor de dados .NET errado quando você desenvolver um aplicativo, é bloqueados no usando o provedor ou você tenha amplamente reescrever o seu código. Para evitar esse problema, você pode usar classes base.

Por exemplo, as classes SqlDataAdapter , OleDbDataAdapter e OdbcDataAdapter todos os herdam da classe DbDataAdapter que por sua vez herda da classe System.Data.Common.DataAdapter . Você pode criar sua própria classe ou função que usa a classe pai ( DataAdapter ) em vez da classe herdada (como SqlDataAdapter , OleDbDataAdapter e OdbcDataAdapter ). A função retorna um objeto ou interface que é independente do provedor comum. Dessa forma, você pode isolar o código específico do provedor para uma função ou classe comum e escrever seu aplicativo para que ele seja genérico para todos os provedores.

Para obter informações adicionais sobre Inheritance in Visual translation from VPE for Csharp .NET, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
307205COMO: Utilizar a herança no translation from VPE for Csharp
O procedimento neste artigo demonstra como usar a interface IDataAdapter para aceitar qualquer NET específico DataAdapter .

Observação : O método preferido para bifurcação do código é usar a interface IDataAdapter quando herdadas da classe DbDataAdapter . Outra interfaces preferencial inclue IDBConnection , IDBCommand e IDataReader .

Requisitos

Os seguintes itens descrevem recomendado de hardware, software, infra-estrutura de rede, habilidades e conhecimento e service packs, que será necessário:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server ou Microsoft Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
  • Provedor de dados .NET ODBC
  • Microsoft SQL Server 7.0 ou posterior
Os seguintes itens descrevem o que você deve compreender antes de usar as informações fornecidas neste artigo.
  • Microsoft Visual Studio .NET
  • Conceitos básicos do Microsoft ADO.NET e sintaxe

Criar projeto e adicionar código

O exemplo a seguir explica como usar a interface IDataAdapter para reduzir o código bifurcação de System.Data.OleDb.OledbDataAdapter , System.Data.SqlClient.SqlDataAdapter e Microsoft.Data.Odbc.OdbcDataAdapter .
  1. Inicie o Visual Studio NET..
  2. Crie um novo aplicativo do Windows no Visual translation from VPE for Csharp NET..
  3. Verifique se seu projeto contém uma referência ao namespace System.Data ; adicionar uma referência se ele não.
  4. Adicione referências a Microsoft.Data.Odbc.dll .Para obter informações adicionais sobre o provedor gerenciado do .NET ODBC, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    310988COMO: Usar o provedor gerenciado ODBC .NET no Visual translation from VPE for Csharp .NET e seqüências de conexão
  5. Coloque um botão , um DataGrid e os três controles RadioButton no Form1.
    • Altere a propriedade nome do botão para btnTest e a propriedade Text para teste .
    • Altere a propriedade nome do primeiro RadioButton rbSqlClient e a propriedade Text para Cliente do SQL .
    • Altere a propriedade nome do segundo RadioButton rbOledb e a propriedade Text para OLEDB .
    • Altere a propriedade nome do terceiro RadioButton rbOdbc e a propriedade Text para ODBC .
  6. Use a instrução usando nos namespaces 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.Data;
    using System.Data.Common;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    using Microsoft.Data.Odbc;
    					
  7. Digite ou cole o código a seguir na área de "Declaração geral":
    IDataAdapter da;
    DataSet ds = new DataSet();
    					
  8. Criar uma função DataAdapterFactory que contém o seguinte código:
    public IDataAdapter DataAdapterFactory()
    {
    	String myConnString; 
    	String myQuery  = "Select * From Customers";
    
    	if (rbSqlClient.Checked)
    	{
    		//Using SqlClient
    		myConnString = "server=myserver;integrated security=sspi;database=Northwind";
    		SqlConnection mycon = new SqlConnection(myConnString);
    		SqlDataAdapter daCust = new SqlDataAdapter(myQuery, mycon);
    		return daCust;
    	}
    	else if (rbOledb.Checked)
    	{
    		//Using OleDb
    		myConnString = "Provider=SqlOledb.1;Data Source=myserver;integrated security=SSPI;Database=Northwind";
    		OleDbConnection mycon = new OleDbConnection(myConnString);
    		OleDbDataAdapter daCust = new OleDbDataAdapter(myQuery, mycon);
    		return daCust;
    	}															   
    	else if (rbOdbc.Checked)
    	{
    		//Using Odbc
    		myConnString = "Driver={SQL Server};Server=myserver;trusted_connection=yes;database=Northwind";
    		Microsoft.Data.Odbc.OdbcConnection mycon = new Microsoft.Data.Odbc.OdbcConnection(myConnString);
    		OdbcDataAdapter daCust = new OdbcDataAdapter(myQuery, mycon);
    		return daCust;
    	}
    	else
    	{
    		return null;
    	}																											  
    }
    					
  9. Digite ou cole o código a seguir no evento Click btnTest:
    da = DataAdapterFactory();
    da.Fill(ds);
    dataGrid1.DataSource = ds ;
    					
  10. Modificar as seqüências de conexão conforme apropriado para seu ambiente.
  11. Salve seu projeto. No menu Debug , clique em Iniciar para executar seu projeto.
  12. Selecione o provedor gerenciado que você deseja usar para a conexão e clique botão (teste).

    DataGrid exibe os dados retornados da consulta.

Solução de problemas

Se você usar classes base, você poderá perder funcionalidade específica do provedor.

Referências

Para obter mais informações sobre objetos ADO.NET e a sintaxe, consulte a documentação do Microsoft .NET Framework SDK ou MSDN online:
Acessando dados com o ADO.NET
http://msdn.microsoft.com/en-us/library/e80y5yhx(vs.71).aspx
Para obter mais informações sobre .NET gerenciados provedores, consulte Centro do desenvolvedor do .NET ou o seguinte site:
Dentro de .NET Managed provedores
http://msdn.microsoft.com/en-us/library/ms810268.aspx

Propriedades

ID do artigo: 313304 - Última revisão: domingo, 13 de maio de 2007 - Revisão: 3.4
A informação contida neste artigo aplica-se a:
  • Microsoft ADO.NET 1.0
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
Palavras-chave: 
kbmt kbhowtomaster kbsqlclient kbsystemdata KB313304 KbMtpt
Traduçã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: 313304

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com