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

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
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Per la una versione di Microsoft Visual Basic .NET di questo articolo, vedere 308046.

Questo articolo si riferisce ai seguenti spazi dei nomi delle librerie di classi di Microsoft .NET Framework:
  • System.Data.Common
  • System.Data.OleDb
  • System.Data.SqlClient
  • Microsoft.Data.ODBC
Sommario
Utilizzare questa procedura per imparare a utilizzare le classi base per ridurre il codice diramazione con i provider gestiti.

back to the top

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 .

back to the top

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
back to the top

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.
back to the top

Risoluzione dei problemi

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

back to the top
Riferimenti
Per ulteriori informazioni su oggetti e sintassi ADO.NET, vedere la documentazione di Microsoft .NET Framework SDK o la MSDN Online: 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

back to the top

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 313304 - Ultima revisione: 01/17/2015 00:38:28 - Revisione: 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 KbMtit
Feedback