Infotag Was bringt .NET 4.5,Visual Studio 11 & Windows 8? Mi, 20.06.2012 in Essen Fr, 20.07.2012 in München mit Dr. H. Schwichtenberg, M. Steyer & Dr. J. Fuchs 9:30 bis 19:00 Uhr - ab 149€ Infos & Anmeldung
.NET 4.0-Seminar ASP.NET-Seminar C#-Seminar Visual Basic .NET-Seminar TFS-Seminar SQL Server-Seminar PowerShell-Seminar Azure/Cloud-Seminar SharePoint-Seminar
.NET 4.0 Update .NET 4.0 Crashkurs ASP.NET 4.0 mit C# Windows Scripting PowerShell 2.0
Erläuterung des Begriffs DbProviderFactory
Stark vereinfacht wird in ADO.NET 2.0 auch die Möglichkeit, unabhängig von einer konkreten Datenbank zu programmieren. Durch die Klassen DbProviderFactory, DbConnection, DbCommand sowie die bereits vorher vorhandene DbDataAdapter-Klasse kann man nun die Informationen zum Data-Provider in einem zur Laufzeit austauschbaren Zeichenkette halten (Listing 1). Die installierten Provider können über System.Data.Common.DbProviderFactories.GetFactoryClasses() aufgelistet werden (Listing 2). Hinweis: Die Klassen DbConnection und DbCommand sind die neuen Basisklassen für alle providerspezifischen Connection- und Command-Klassen const string CONNSTRING = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data Source=ESSEN"; const string SQL = "Select * from Employees"; DbProviderFactory provider = DbProviderFactories.GetFactory("System.Data.SqlClient"); DbConnection connection = provider.CreateConnection(); connection.ConnectionString = CONNSTRING; DbDataAdapter adapter = provider.CreateDataAdapter(); adapter.Connection = connection; DbCommand command = provider.CreateCommand(); command.CommandText = SQL; DataSet ds = new DataSet(); adapter.SelectCommand = command; adapter.Connection = connection; adapter.Fill(ds); Console.WriteLine(ds.Tables[0].Rows.Count); Listing 1: Datenbankunabhängige Programmierung mit der DbProviderFactory DataTable providers = System.Data.Common.DbProviderFactories.GetFactoryClasses(); foreach (DataRow provider in providers.Rows) { foreach (DataColumn c in providers.Columns) Console.WriteLine(c.ColumnName + ":" + provider[c]); Console.WriteLine("---"); } Listing 2: Auflisten der installierten ADO.NET-Datenbanktreiber
Querverweise zu anderen Begriffen im Lexikon
System.Data.SqlClientSystem.Data.CommonSystem.DataDataAdapterDatenbankDataTableDataSet