Compartir a través de


Escribir código común para proveedores de datos .NET Framework

Mediante interfaces comunes suministradas por ADO.NET, puede escribir un único conjunto de código que funcionará independientemente del proveedor de datos de .NET Framework que esté utilizando.

Cuando escriba código para utilizarlo con diferentes proveedores de datos de .NET Framework, preste especial atención a la sintaxis que esté utilizando y que pueda ser específica de un proveedor. Por ejemplo, la sintaxis SQL cambiará según el origen de datos al que tenga acceso. Si cambia a otro proveedor de datos de .NET Framework, le resultará más fácil mantener su código si aísla los comandos SQL como constantes de cadena.

También es importante mantener el orden en el que se crean los parámetros en su código. El orden de los parámetros no tiene importancia con el proveedor de datos de .NET Framework para SQL Server porque los parámetros se identifican por su nombre. Sin embargo, el proveedor de datos de .NET Framework para OLE DB asigna valores a los parámetros en el mismo orden en que éstos se agregaron a la colección de parámetros. Como consecuencia, es conveniente mantener siempre el orden de los parámetros en su código.

El siguiente ejemplo de código funcionará con el proveedor de datos de .NET Framework para SQL Server, con el proveedor de datos de .NET Framework para OLE DB y con el proveedor de datos de .NET Framework para ODBC.

' You can use either:
'  Dim myConn As IDbConnection = New SqlConnection
' or:
'  Dim myConn As IDbConnection = New OleDbConnection
' or:
'  Dim myConn As IDbConnection = New OdbcConnection
' or:
'  Dim myConn As IDbConnection = New OracleConnection

Dim myCommand As IDbCommand = myConn.CreateCommand()
myCommand.CommandText = "SELECT * FROM Customers"
Dim myReader As IDataReader = myCommand.ExecuteReader()

Do While myReader.Read()
  Console.WriteLine("{0}" & vbTab & "{1}", myReader.GetString(0), myReader.GetString(1))
Loop
[C#]
// You can use either:
//  IDbConnection myConn = new SqlConnection();
// or:
//  IDbConnection myConn = new OleDbConnection();
// or:
//  IDbConnection myConn = new OdbcConnection();
// or:
//  IDbConnection myConn = new OracleConnection();

IDbCommand myCommand = myConn.CreateCommand();
myCommand.CommandText = "SELECT * FROM Customers";
IDataReader myReader = myCommand.ExecuteReader();

while (myReader.Read())
  Console.WriteLine("{0}\t{1}", myReader.GetString(0), myReader.GetString(1));

Vea también

Información general acerca de ADO.NET | Arquitectura de ADO.NET | Utilizar proveedores de datos de .NET Framework para obtener acceso a datos