1. 程式人生 > >C#連線資料庫的三種方法

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);建立一個數據庫連線物件

conn,連線資料庫用conn.Open()

(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");