首先, 取得连接串:
ConnectionStringSettings myConnectionSettings = ConfigurationManager.ConnectionStrings[myName];
其中, myName 在App.config中配置, 如:
<configuration>
<connectionStrings>
<add name="SQL Server" providerName="System.Data.SqlClient"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Databases\MyData.mdf;Integrated Security=True;User Instance=True" />
</connectionStrings>
</configuration>
得到Provider
DbProviderFactory myProvider = DbProviderFactories.GetFactory(myConnectionSettings.ProviderName);
得到Connection
DbConnection myConnection = myProvider.CreateConnection();
myConnection.ConnectionString = myConnectionSettings.ConnectionString;
myConnection.Open();
DbDataAdapter myAdapter = myProvider.CreateDataAdapter();
DbCommand myCommand = myProvider.CreateCommand();
// Create the DataSet so that we can populate the datagrid
string myQuery = "SELECT * FROM SampleData";
DataSet myDataSet = new DataSet();
myCommand.Connection = myConnection;
myCommand.CommandText = myQuery;
myAdapter.SelectCommand = myCommand;
myAdapter.Fill(myDataSet);
displayDataGridView.DataSource = myDataSet.Tables[0];
这是Vs Sample中例子DBFactory中采用的方式.