C#連線資料庫的三種方法
第二種方法:通過ConfigurationManager.ConnectionString獲取資料庫的配置資訊。進行資料庫的連線。
如:public static int ExcuteNonQuery(string sql,params SqlParameter[] parameters)
{
string connStr = configurationManager.ConnectionStrings["ConnStr"].ConncetionString;
using(SqlConncetion conn=new SqlConnection(connStr))
{
conn.open();
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach(SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
return cmd.ExecuteNonQuery();
}
}
}
說明:
(1) 通過string connStr=ConfigurationManager.ConnectionString[“ConnStr”].ConnectionString;獲得資料庫連線的一些配置資訊,即“資料來源”、“資料庫名”、“使用者名稱”、“密碼”,將這些資訊都儲存在connStr中。
(2) SqlConnection conn = new SqlConnection(connStr);建立一個數據庫連線物件
(3) SqlCommand cmd = new SqlCommand(“Select * Form [表]”,conn);
或者string sql = “Select * From [表]”;
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;這樣就把訪問資料庫的SQL語句存到了cmd中
(4) 建立SqlDataAdapter物件和DataSet物件
DataSet myDataSet = new DataSet();建立DataSet物件,
SqlDataAdapter myDataAdapter = new SqlDataAdapter(cmd);建立資料介面卡物件。
(5) 填充DataSet:myDataAdapter.Fill(myDataSet);其實SqlDataAdapter資料介面卡起的就是一個連線資料庫和資料集(DataSet)的橋樑作用,把對資料庫操作的SQL語句得到的結果傳到SqlDataAdapter物件中,在通過SqlDataAdapter.Fill(DataSet)方法,將結果填充到DataSet中。
第三種方法:用工廠方法
DbProviderFactory m_dbProviderFactory = DbProviderFactories.GetFacory(ConfigurationManager.ConnectionString[“ConStr”].ProviderName);//獲取工廠
DbConnection conn = m_dbProviderFactory.CreateConncetion();//建立連線
DbCommand cmd = m_dbProviderFactory.CreateCommand();//建立命令
cmd.Connection = conn;
cmd.CommandText = strSql;
cmd.CommandType = CommandType.Text;
DbDataAdapter dapter = m_dbProviderFactory.CreateDataAdapter();//建立介面卡
dapter.SelectCommand = cmd;
dapter.Fill(DataSet ds = new DataSet());//填充
return ds;
說明:
上面的語句中用ConfigurationManager.ConnectionString[“ConStr”].ProviderName獲取了當前資料庫的名稱,因此可以適用於任何資料庫,如果這樣寫,就是不同的資料庫使用不同的語言:
SqlServer:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient");