COMO: Utilizar classes base diminuir bifurcação com código gerido fornecedores no Visual C# .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 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: 313304
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Para obter uma Microsoft Visual Basic .NET versão deste artigo, consulte 308046.

Este artigo faz referência à seguintes espaços de nomes Microsoft .NET Framework Class Library:
  • System.Data.Common
  • System.data.OLEDB
  • System.data.SqlClient
  • Microsoft.Data.Odbc
Sumário
Utilize este guia passo-a-passo para aprender a utilizar classes base para reduzir o código de bifurcação com fornecedores geridos.

back to the top

Descrição da técnica

ADO.NET tem diferentes tipos de fornecedores de dados (por exemplo, SqlClient, OleDb, ODBC e assim sucessivamente). Se escolher o fornecedor de dados .NET errado quando desenvolver uma aplicação, é bloqueados no utilizando o fornecedor ou pode ter para extensivamente reescrever o código. Para evitar este problema, pode utilizar classes base.

Por exemplo, as classes SqlDataAdapter OleDbDataAdapter e OdbcDataAdapter tudo herdam da classe DbDataAdapter que por sua vez herda da classe System.Data.Common.DataAdapter . Pode criar os seus classe ou função que utiliza a classe principal ( ' DataAdapter ' ) em vez de classe herdada (como SqlDataAdapter , OleDbDataAdapter e OdbcDataAdapter ). A função devolve um objecto ou a interface é independente do fornecedor comuns. Desta forma, pode isolar o código específica do fornecedor para uma função ou classe comuns e escrever a aplicação para que fique genérico para todos os fornecedores.

Para obter informações adicionais sobre herança no Visual C# .NET, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
307205COMO: Utilizar herança em C#
O procedimento descrito neste artigo demonstra como utilizar a interface IDataAdapter para aceitar qualquer fornecedor .NET específico ' DataAdapter ' .

Nota : O método preferido para código bifurcação consiste em utilizar a interface IDataAdapter quando herdar da classe DbDataAdapter . Outra interfaces preferencial inclue IDBConnection IDBCommand e IDataReader .

back to the top

Requisitos

Os seguintes itens descrevem o hardware recomendado, software, infra-estrutura de rede, competências e conhecimentos e service packs, terá de:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server ou Microsoft Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
  • Fornecedor de dados ODBC .NET
  • Microsoft SQL Server 7.0 ou posterior
Os seguintes itens descrevem o que deve compreender para poder utilizar as informações fornecidas neste artigo.
  • Microsoft Visual Studio .NET
  • Microsoft ADO.NET fundamentais e sintaxe
back to the top

Criar projecto e adicionar código

O exemplo seguinte explica como utilizar a interface IDataAdapter para reduzir código bifurcação System.Data.OleDb.OledbDataAdapter , System.Data.SqlClient.SqlDataAdapter e Microsoft.Data.Odbc.OdbcDataAdapter .
  1. Inicie o Visual Studio NET..
  2. Criar uma nova aplicação do Windows no Visual C#. NET.
  3. Certifique-se que o projecto contém uma referência ao espaço de nomes System.data ; adicionar uma referência, caso contrário.
  4. Adicione referências a Microsoft.Data.Odbc.dll .Para obter informações adicionais sobre o fornecedor gerido do ODBC .NET, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
    310988COMO: Utilizar o fornecedor de gestão ODBC .NET no Visual C# .NET e cadeias de ligação
  5. Colocar um botão , um DataGrid e três controlos do tipo ' botão de opção ' no Form1.
    • Altere a propriedade nome do botão para btnTest e a propriedade de texto para teste .
    • Altere a propriedade Name do primeiro tipo ' botão de opção ' rbSqlClient e a propriedade de texto para O cliente de SQL .
    • Altere a propriedade Name do segundo tipo ' botão de opção ' rbOledb e a propriedade de texto para OLEDB .
    • Altere a propriedade nome do terceiro RadioButton rbOdbc e a propriedade de texto para ODBC .
  6. Utilize a instrução utilizando os espaços de nomes para que não é necessário para qualificar declarações os espaços de nomes mais tarde no código. Adicione o seguinte código à secçã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. Escreva ou cole o seguinte código na área de "General Declarations":
    IDataAdapter da;DataSet ds = new DataSet();					
  8. Criar uma função DataAdapterFactory que contenha 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. Escreva ou cole o seguinte código no evento Click btnTest:
    da = DataAdapterFactory();da.Fill(ds);dataGrid1.DataSource = ds ;					
  10. Modificar as cadeias de ligação conforme apropriado para o ambiente.
  11. Guarde o projecto. No menu Debug , clique em Iniciar para executar o projecto.
  12. Seleccione o fornecedor gerido que pretende utilizar para a ligação e, em seguida, clique o botão (teste).

    DataGrid apresenta os dados devolvidos pela consulta.
back to the top

Resolução de problemas

Se utilizar classes base, poderá perder funcionalidades específicas do fornecedor.

back to the top
Referências
Para mais informações sobre objectos ADO.NET e sintaxe, consulte a documentação do Microsoft .NET Framework SDK ou online da MSDN: Para mais informações sobre fornecedores de .NET gerido, consulte o .NET Developer Center ou o seguinte Web site da Microsoft:
back to the top

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 313304 - Última Revisão: 01/17/2015 00:38:32 - Revisão: 3.4

Microsoft ADO.NET 1.0, Microsoft ADO.NET 1.1, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# .NET 2003 Standard Edition

  • kbnosurvey kbarchive kbmt kbhowtomaster kbsqlclient kbsystemdata KB313304 KbMtpt
Comentários