SqlConnection和SqlCEConnection都擴展System.Data.Common.DbConnection,所以聲明「blah」爲DbConnection,並且您將能夠使用相同的方法和屬性。
要實際創建正確的連接類型,請使用System.Data.Common.DbProviderFactories和System.Data.Common.DbProviderFactory類。例如:
DbProviderFactory providerFactory = DbProviderFactories.GetFactory("The Provider Name");
using (DbConnection connection = providerFactory.CreateConnection())
{
connection.ConnectionString = "The Connection String";
connection.Open();
// Use the "connection" object here
}
對於「提供程序名稱」,你乾脆把在任一「System.Data.SqlClient的」或「System.Data.SqlServerCe」,這取決於數據庫類型。然後,對於「連接字符串」,您需要爲提供程序類型輸入正確的連接字符串。
編輯:此技術適用於您的App.config文件和System.Configuration.ConfigurationManager類。例如,如果你的App.config文件看起來是這樣的:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="TheConnectionString" providerName="System.Data.SqlClient" connectionString="Blah Blah Blah" />
</connectionStrings>
</configuration>
然後你就可以訪問這些配置設置是這樣的:
DbProviderFactory providerFactory = DbProviderFactories.GetFactory(ConfigurationManager.ConnectionStrings["TheConnectionString"].ProviderName);
using (DbConnection connection = providerFactory.CreateConnection())
{
connection.ConnectionString = ConfigurationManager.ConnectionStrings["TheConnectionString"].ConnectionString;
connection.Open();
// Use the "connection" object here
}