使用 ADO.NET 提供的通用接口,您可以编写一组在使用任何 .NET 数据提供程序时都将运行的代码。
当编写将用于多个 .NET 数据提供程序的代码时,请特别注意所使用的任何提供程序特定的语法。例如,根据您所访问的数据源,SQL 语法将有所不同。当更改为一个不同的 .NET 数据提供程序时,如果将 SQL 命令隔离为字符串常数,则将使代码更易于维护。
另外,务必要保持在代码中创建参数的顺序。对于 SQL Server .NET 数据提供程序,参数使用名称来标识,因此参数顺序并不重要。但是,OLE DB .NET 数据提供程序会按照参数添加到参数集合中的顺序来分配参数值。因此,最好始终保持参数在代码中的顺序。
以下示例代码将与 SQL Server .NET 数据提供程序或 OLE DB .NET 数据提供程序一起运行。
[Visual Basic]
' You can use either:
' Dim myConn As IDbConnection = New SqlConnection
' or:
' Dim myConn As IDbConnection = New OleDbConnection
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();
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));