要连接数据库就要使用connection string。下面是一个简单的例子:
connectionString="server=(local);integratedsecurity=SSPI;database=Northwind"
它表示的意思是连接到本地服务器,使用Windows authentication,连接数据库Northwind。
如果要把你的connection string hardcode到代码里,就可以这样做
string source = "server=(local);" +
"integrated security=SSPI;" +
"database=Northwind";
SqlConnection conn = new SqlConnection(source);
当然,你最好是使用配置文件来保存你的connection string。
<configuration>
<connectionStrings>
<add name="TestConnection" providerName="System.Data.SqlClient" connectionString="server=(local);integrated security=SSPI;database=TestDatabase" />
</connectionStrings>
</configuration>
然后在你的代码中对connection string 进行读取。下面的例子中的参数connectionName就应该是配置文件中的TestConnection
private static DbConnection GetDatabaseConnection(string connectionName)
{
ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings[connectionName];
DbProviderFactory factory = DbProviderFactories.GetFactory(settings.ProviderName);
DbConnection conn = factory.CreateConnection();
conn.ConnectionString = settings.ConnectionString;
return conn;
}
获得了connection string后,我们就要打开对数据库的连接。我们要确保每次连接之后都要将连接及时关闭,所以我们采用以下的方式::
try
{
using (SqlConnection conn = (SqlConnection)GetDatabaseConnection("TestConnection"))
{
conn.Open();
//Do something;
conn.Close();
}
}
catch (SqlException)
{
}