Gewusst wie: Verwenden Basisklassen zur Senkung der Verzweigung mit Code Anbieter in Visual c# .NET verwalteten

Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

313304
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Eine Microsoft Visual Basic .NET Version dieses Artikels finden Sie unter 308046.

Dieser Artikel bezieht sich auf die folgenden Namespaces für Microsoft .NET Framework-Klassenbibliotheken:
  • System.Data.Common
  • System.Data.OleDb
  • System.Data.SqlClient
  • Microsoft.Data.ODBC
Zusammenfassung
Verwenden Sie dieses detaillierte Handbuch, um Informationen zum Basisklassen verwenden, um Code mit verwalteten Anbietern Verzweigung zu reduzieren.

back to the top

Beschreibung der Technik

ADO.NET verfügt über verschiedene Arten von Datenanbietern (z. B. SqlClient, OleDb, ODBC und usw.). Wenn Sie den falschen-.NET-Datenanbieter, auswählen Wenn Sie eine Anwendung entwickeln, Sie sind in mithilfe des Anbieters gesperrt, oder Sie müssen möglicherweise häufig Code schreiben. Um dieses Problem zu vermeiden, können Sie Basisklassen verwenden.

Beispielsweise erben die Klassen SqlDataAdapter , OleDbDataAdapter und OdbcDataAdapter aus der DbDataAdapter -Klasse, die wiederum von der System.Data.Common.DataAdapter -Klasse erbt. Sie können eigenen Klasse oder Funktion, die die übergeordnete Klasse ( DataAdapter ) verwendet statt der geerbten Klasse (wie SqlDataAdapter , OleDbDataAdapter und OdbcDataAdapter ) erstellen. Die Funktion gibt eine allgemeine Objekt oder Schnittstelle, die Provider-unabhängig ist. Auf diese Weise können Sie den Code für einen bestimmten Anbieter eine allgemeine Funktion oder Klasse isolieren und Ihrer Anwendung schreiben, sodass es für alle Anbieter generisch ist.

Weitere Informationen zu Vererbung in Visual c# .NET finden folgendem Artikel der Microsoft Knowledge Base:
307205Verwendung von Vererbung in c#
Veranschaulicht das Verfahren in diesem Artikel, wie mit die IDataAdapter -Schnittstelle akzeptiert .NET Provider bestimmte DataAdapter .

Hinweis : die bevorzugte Methode zum Code Gabelung ist, die IDataAdapter -Schnittstelle verwenden, wenn die DbDataAdapter -Klasse vererben. Anderen bevorzugten Schnittstellen Inclue IDBConnection , IDBCommand und die IDataReader .

back to the top

Voraussetzungen

Im folgenden werden die empfohlene Hardware, Software, Netzwerkinfrastruktur, Fähigkeiten und Kenntnisse und Servicepacks, die Sie müssen:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server oder Microsoft Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
  • ODBC .NET Data Provider
  • Microsoft SQL Server 7.0 oder höher
Die folgenden Punkte beschreiben, über welche Vorkenntnisse Sie verfügen sollten, bevor Sie die in diesem Beitrag behandelten Informationen verwenden.
  • Microsoft Visual Studio .NET
  • Microsoft ADO.NET Grundlagen und syntax
back to the top

Erstellen eines Projekts und Hinzufügen von Code

Das folgende Beispiel erläutert die IDataAdapter -Schnittstelle verwenden, um Code Aufspaltung von System.Data.OleDb.OledbDataAdapter , System.Data.SqlClient.SqlDataAdapter und Microsoft.Data.Odbc.OdbcDataAdapter zu reduzieren.
  1. Starten Sie Visual Studio .NET.
  2. Erstellen Sie eine neue Windows-Anwendung in Visual C# .NET.
  3. Stellen Sie sicher, dass das Projekt einen Verweis auf den System.Data -Namespace enthält, ist dies nicht der Fall fügen Sie einen Verweis hinzu.
  4. Fügen Sie Verweise auf Microsoft.Data.Odbc.dll .Weitere Informationen zum ODBC .NET Managed Provider finden Sie in folgendem Artikel der Microsoft Knowledge Base:
    310988So wird 's gemacht: Verwenden der ODBC .NET Managed Provider in Visual c# .NET und Verbindungsstrings
  5. Platzieren Sie eine Schaltfläche , ein DataGrid und drei RadioButton -Steuerelemente auf Form1.
    • Ändern Sie die Name -Eigenschaft der Schaltfläche auf BtnTest und die Text -Eigenschaft zu Testen .
    • Ändern Sie die Name -Eigenschaft des ersten RadioButton in RbSqlClient und die Eigenschaft Text auf SQL .
    • Ändern Sie die Name -Eigenschaft des zweiten RadioButton in RbOledb und die Text -Eigenschaft auf OLEDB .
    • Ändern Sie die Name -Eigenschaft des dritten RadioButton in RbOdbc und die Text -Eigenschaft in ODBC .
  6. Verwenden Sie die Verwendung von Anweisung für die Namespaces, damit Sie keine Deklarationen in diesen Namespaces später im Code vornehmen müssen. Fügen Sie im Abschnitt "Allgemeine Deklarationen" des Form1 den folgenden Code:
    using System.Data;using System.Data.Common;using System.Data.OleDb;using System.Data.SqlClient;using Microsoft.Data.Odbc;					
  7. Geben oder fügen Sie den folgenden Code im Bereich "Allgemeine Deklarationen":
    IDataAdapter da;DataSet ds = new DataSet();					
  8. Erstellen Sie eine DataAdapterFactory -Funktion, die den folgenden Code enthält:
    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. Geben oder fügen den folgenden Code in das BtnTest Click -Ereignis:
    da = DataAdapterFactory();da.Fill(ds);dataGrid1.DataSource = ds ;					
  10. Ändern Sie die Verbindungszeichenfolgen entsprechend Ihrer Umgebung.
  11. Speichern Sie Ihr Projekt. Klicken Sie im Menü Debuggen auf Starten , um das Projekt auszuführen.
  12. Wählen Sie den verwalteten Provider, den Sie verwenden möchten für die Verbindung, und klicken Sie dann (Test).

    Das DataGrid zeigt die von der Abfrage zurückgegebenen Daten an.
back to the top

Problembehandlung

Bei Verwendung von Basisklassen verloren providerspezifischen Funktionen.

back to the top
Informationsquellen
Weitere Informationen über ADO.NET-Objekte und-Syntax finden Sie in der Dokumentation zu Microsoft .NET Framework SDK oder MSDN Online: Weitere Informationen zu .NET managed Provider finden Sie in der .NET Developer Center oder der folgenden Microsoft-Website:
back to the top

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 313304 – Letzte Überarbeitung: 01/17/2015 00:38:21 – Revision: 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 KbMtde
Feedback