PROCEDURE: Basis klassen gebruik te verminderen Code vertakking met Managed Providers in Visual c#.NETTO

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 313304 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

Gebruik deze stapsgewijze handleiding voor meer informatie over het gebruik van basis klassen te verminderen vertakking met aanbieders van beheerde code.

Beschrijving van de techniek

ADO.NET heeft verschillende gegevensproviders (bijvoorbeeld SqlClient, OleDb, ODBC, enzovoort). Als u de verkeerde.NETTO data provider wanneer u een toepassing ontwikkelen, u vergrendeld in met de provider of u wellicht uitgebreid uw code her schrijven. Om te voorkomen dat dit probleem, kunt u basis klassen.

Bijvoorbeeld, deSqlCeDataAdapter,Interne OleDbDataAdapter, enOdbcDataAdapterklassen alle van overnemen deDbDataAdapterklasse die op hun beurt worden overgenomen van deSystem.data.Common.DataAdapterklasse. U kunt onze eigen klasse of ? functie die gebruikmaakt van de (bovenliggende klasse makenData adapter) in plaats van de klasse overgenomen (likeSqlCeDataAdapter,Interne OleDbDataAdapter, enOdbcDataAdapter). De functie retourneert een object of provider-onafhankelijke interface. U kunt op deze manier isoleren van de provider-specifieke code naar een gemeenschappelijke functie of klasse en uw toepassing schrijven zodat het algemeen alle aanbieders.

Voor meer informatie over overname in Visual c#.Net werk, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
307205PROCEDURE: Overname in c# gebruiken
De procedure in dit artikel wordt beschreven hoe deIDataAdaptervoor het accepteren van een interface.NETTO providerspecifiekData adapter.

OPMERKING: De voorkeurs methode voor code vertakking is met deIDataAdapterinterface, als u het overnemen van deDbDataAdapterklasse. Andere voorkeurs interfaces inclueIDBConnection,IDBCommand, en deIDataReader.

Vereisten

De volgende items beschrijven de aanbevolen hardware, software, net werk infrastructuur, vaardigheden en kennis en service packs u moet:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server of Microsoft Windows NT 4. 0 Server
  • Microsoft Visual Studio.NETTO
  • ODBC-STUURPROGRAMMA.NETTO-gegevensprovider
  • Microsoft SQL Server 7. 0 of hoger
De volgende items beschrijven wat u moet weten voordat u de informatie in dit artikel.
  • Microsoft Visual Studio.NETTO
  • Microsoft ADO.NETTO basis begrippen en syntaxis

Project maken en Code toevoegen

In het volgende voorbeeld wordt uitgelegd hoe u deIDataAdapterinterface code vertakking uit verminderenOleDbDataAdapter,System.data.SqlClient.SqlDataAdapterenMicrosoft.data.ODBC.OdbcDataAdapter.
  1. Start Visual Studio.NET.
  2. Maak een nieuwe Windows-toepassing in Visual c#.NET.
  3. Zorg ervoor dat uw project een verwijzing naar bevat deSystem. datanaam ruimte. Voeg een verwijzing toe als dat niet.
  4. Verwijzingen naar toevoegenMicrosoft.data.ODBC.dll.Voor meer informatie over de ODBC-stuurprogramma.NETTO Managed Provider, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
    310988PROCEDURE: Het ODBC-stuurprogramma gebruiken.NETTO Managed Provider in Visual c#.NET en verbindingsreeksen
  5. Plaats eenKnop, eenDataGrid, en drieRadio Buttonbesturings elementen op Form1.
    • Wijziging deNaameigenschap van de knopbtnTesten deTeksteigenschapTest.
    • Wijziging deNaameigenschap van het eersteRadio ButtonnaarrbSqlClienten deTeksteigenschapSQL-Client.
    • Wijziging deNaameigenschap van de tweedeRadio ButtonnaarrbOledben deTeksteigenschapOLEDB.
    • Wijziging deNaameigenschap van de derdeRadio ButtonnaarrbOdbcen deTeksteigenschapODBC-STUURPROGRAMMA.
  6. Gebruik demet behulp vaninstructie op de naam ruimten zodat u niet hoeft te kwalificeren declaraties in deze naam ruimten in uw code later. De volgende code toevoegen aan de sectie "Algemene declaraties" van Form1:
    using System.Data;
    using System.Data.Common;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    using Microsoft.Data.Odbc;
    					
  7. Typ of plak de volgende code in het gedeelte "Algemene verklaring":
    IDataAdapter da;
    DataSet ds = new DataSet();
    					
  8. Maak eenDataAdapterFactoryfunctie met de volgende code:
    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. Typ of plak de volgende code in de btnTestKlik opgebeurtenis:
    da = DataAdapterFactory();
    da.Fill(ds);
    dataGrid1.DataSource = ds ;
    					
  10. Wijzig de verbindingsreeksen voor uw omgeving.
  11. Uw project opslaan. Op deFout opsporingmenu, klikt u opStarthet project wordt uitgevoerd.
  12. Selecteer de beheerde provider die u wilt gebruiken voor de verbinding en klik vervolgens op de knop (Test).

    De DataGrid weer de gegevens van de query.

Problemen oplossen

Als u basis klassen, verliest u providerspecifieke functionaliteit.

Referenties

Voor meer informatie over ADO.NET objecten en syntaxis, raadpleegt u de Microsoft..NET Framework SDK-documentatie of on line MSDN:
Toegang tot gegevens met ADO.NETTO
(vs.71) http://msdn.Microsoft.com/en-us/library/e80y5yhx. aspx
Voor meer informatie over.NETTO managed providers, raadpleegt u het.NETTO Developer Center of de volgende Microsoft-website:
Binnen.NETTO Managed Providers
http://msdn.Microsoft.com/en-us/library/ms810268.aspx

Eigenschappen

Artikel ID: 313304 - Laatste beoordeling: maandag 28 februari 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
Trefwoorden: 
kbhowtomaster kbsqlclient kbsystemdata kbmt KB313304 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:313304

Geef ons feedback

 

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