HOW TO: Classi di utilizzo base per ridurre il codice di diramazione con Managed provider in Visual C# .NET

Traduzione articoli Traduzione articoli
Identificativo articolo: 313304 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

Utilizzare questa procedura per imparare a utilizzare le classi base per ridurre il codice diramazione con i provider gestiti.

Descrizione della tecnica

ADO.NET dispone di diversi tipi di provider di dati (ad esempio, SqlClient, OleDb, ODBC e cosý via). Se si sceglie il provider di dati .NET errato quando si sviluppa un'applicazione, sono bloccati in utilizzando il provider o potrebbe essere necessario ampiamente riscrivere il codice. Per evitare questo problema, Ŕ possibile utilizzare le classi base.

Ad esempio, tutte le classi SqlDataAdapter , OleDbDataAdapter e OdbcDataAdapter ereditano dalla classe DbDataAdapter che a sua volta eredita dalla classe System.Data.Common.DataAdapter . ╚ possibile creare la classe o una funzione che utilizza la classe padre ( DataAdapter ) anzichÚ la classe ereditata (come SqlDataAdapter , OleDbDataAdapter e OdbcDataAdapter ). La funzione restituisce un oggetto o interfaccia che Ŕ indipendente dal provider pi¨ comuni. In questo modo, Ŕ possibile isolare il codice specifico del provider per una funzione o una classe comune e scrivere l'applicazione in modo che a tutti i provider generico.

Per ulteriori informazioni sull'ereditarietÓ in Visual C#. NET, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
307205Procedura: Utilizzo dell'ereditarietÓ in C#
Nella procedura in questo articolo viene illustrato come utilizzare l'interfaccia IDataAdapter per accettare qualsiasi provider .NET specifici DataAdapter .

Nota : il metodo preferito per la diramazione di codice consiste nell'utilizzo dell'interfaccia di IDataAdapter quando si eredita dalla classe DbDataAdapter . Altri inclue interfacce preferito IDBConnection , IDBCommand e l' interfaccia IDataReader .

Requisiti

Di seguito vengono elencati l'hardware, il software, l'infrastruttura di rete, le capacitÓ, le conoscenze e i Service Pack necessari:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server o Microsoft Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
  • Provider dati ODBC .NET
  • Microsoft SQL Server 7.0 o versione successiva
Di seguito vengono indicati che cosa Ŕ necessario comprendere prima di eseguire le informazioni fornite in questo articolo.
  • Microsoft Visual Studio .NET
  • Nozioni fondamentali di Microsoft ADO.NET e sintassi

Creare il progetto e aggiungere il codice

Nell'esempio riportato di seguito viene illustrata come utilizzare l'interfaccia IDataAdapter per ridurre la diramazione da System.Data.OleDb.OledbDataAdapter , System.Data.SqlClient.SqlDataAdapter e Microsoft.Data.Odbc.OdbcDataAdapter del codice.
  1. Avviare Visual Studio NET..
  2. Creare una nuova Applicazione Windows in Visual C# .NET.
  3. Assicurarsi che il progetto contenga un riferimento allo spazio dei nomi System.Data , aggiungere un riferimento in caso contrario.
  4. Aggiungere riferimenti a Microsoft.Data.ODBC.dll .Per ulteriori informazioni sul provider ODBC .NET gestito, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
    310988HOWTO: Utilizzare il Managed Provider ODBC .NET in C# .NET e stringhe di connessione
  5. Inserire un pulsante , un DataGrid e tre controlli RadioButton in Form1.
    • Modificare la proprietÓ Name del pulsante di btnTest e la proprietÓ di testo a test .
    • Modificare la proprietÓ Name del primo RadioButton rbSqlClient e la proprietÓ di testo al Client di SQL .
    • Modificare la proprietÓ di nome del secondo RadioButton rbOledb e la proprietÓ di testo per OLEDB .
    • Modificare la proprietÓ di nome del terzo RadioButton rbOdbc e la proprietÓ di testo per ODBC .
  6. Utilizzare l'istruzione using sugli spazi dei nomi in modo che non sia necessario qualificare dichiarazioni in tali spazi dei nomi pi¨ avanti nel codice. Aggiungere il codice riportato di seguito alla sezione "General Declarations" di Form1:
    using System.Data;
    using System.Data.Common;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    using Microsoft.Data.Odbc;
    					
  7. Digitare o incollare il codice riportato di seguito nella sezione "General Declarations":
    IDataAdapter da;
    DataSet ds = new DataSet();
    					
  8. Creare una funzione DataAdapterFactory che contiene il codice riportato di seguito:
    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. Digitare o incollare il codice riportato di seguito l'evento Click btnTest:
    da = DataAdapterFactory();
    da.Fill(ds);
    dataGrid1.DataSource = ds ;
    					
  10. Modificare le stringhe di connessione in modo appropriato per il proprio ambiente.
  11. Salvare il progetto. Nel menu debug , fare clic su Start per eseguire il progetto.
  12. Selezionare il provider gestito che si desidera utilizzare per la connessione e fare clic sul pulsante (test).

    Il controllo DataGrid visualizza i dati restituiti dalla query.

Risoluzione dei problemi

Se si utilizzano classi base, si potrebbero perdere funzionalitÓ specifiche del provider.

Riferimenti

Per ulteriori informazioni su oggetti e sintassi ADO.NET, vedere la documentazione di Microsoft .NET Framework SDK o la MSDN Online:
Accesso ai dati con ADO.NET
http://msdn.microsoft.com/en-us/library/e80y5yhx(vs.71).aspx
Per ulteriori informazioni sui managed provider .NET, vedere il sito Web .NET Developer's Center oppure il seguente sito Web Microsoft (informazioni in lingua inglese):
All'interno di .NET Managed Provider
http://msdn.microsoft.com/en-us/library/ms810268.aspx

ProprietÓ

Identificativo articolo: 313304 - Ultima modifica: domenica 13 maggio 2007 - Revisione: 3.4
Le informazioni in questo articolo si applicano 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
Chiavi:á
kbmt kbhowtomaster kbsqlclient kbsystemdata KB313304 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 313304
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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