2016年11月13日 星期日

[ASP.NET C#] ASP.NET - 資料庫連線 (搭配Web.config設定連線字串)

Reference:http://blog.xuite.net/avatar56/balmywind/36863741-ASP.NET+-+%E8%B3%87%E6%96%99%E5%BA%AB%E9%80%A3%E7%B7%9A+(%E6%90%AD%E9%85%8DWeb.config%E8%A8%AD%E5%AE%9A%E9%80%A3%E7%B7%9A%E5%AD%97%E4%B8%B2)

ASP.NET - 資料庫連線 (搭配Web.config設定連線字串)

Web.config 內設定連線字串:
<configuration>
  <connectionStrings>
<!--連 Access 資料庫-->
    <add name="accDB" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;
        Data Source=X:\DB存放路徑\accDB.mdb;Persist Security Info=False" />
Source也可改成:|DataDirectory|accDB.mdb;
|DataDirectory|代表的是網站下的 App_Code 資料夾
///////連接有密碼保護的資料庫
<add name="accDB" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;
    Data Source=X:\DB存放路徑\accDB.mdb;Persist Security Info=True;
    Jet OLEDB:Database Password=資料庫密碼" />

<!--連 MS-SQL 資料庫-->
    <add name="sqlDB" connectionString="data source=255.255.255.255;
         user id=帳號; password=密碼; database=資料庫名稱" />
  </connectionStrings>
</configuration>
---------------------------------
在程式內連線(C#):
/* 連 Access 資料庫 */
//取得設定在 Web.config 的 connectionStrings
string strConn = ConfigurationManager.ConnectionStrings["accDB"].ConnectionString;

//Insert、Update、Delete
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();

OleDbCommand oDBcomStr = new OleDbCommand();
oDBcomStr.Connection = conn;

oDBcomStr.CommandText = "SQL指令";
//oDBcomStr.Parameters.Add(new OleDbParameter("@Name", value));
oDBcomStr.ExecuteNonQuery();

//Select 取值
DataSet ds = new DataSet();
OleDbDataAdapter oDBda = new OleDbDataAdapter("SQL指令", strConn);
oDBda.Fill(ds, "自訂名稱");
Label1.Text = ds.Tables["自訂名稱"].Rows[0][1].ToString();

GridView.DataSource = ds.Tables["自訂名稱"];
GridView.DataBind();

conn.Close();
/*********
將參數與 OleDbCommand 或 OdbcCommand 搭配使用時,
加入 Parameters 集合的參數順序必須與預存程序中所定義的參數順序相符
**********/
/*********************************************************/
/* 連 SQL-Server 資料庫 */
SqlDataSource conn = new SqlDataSource();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["sqlDB"].ConnectionString;
conn.SelectCommand = "select指令";
conn.InsertCommand = "insert指令";
conn.UpdateCommand = "update指令";
conn.Insert(); //執行Insert
conn.Update(); //執行Update

//加參數
SqlCommand = "SELECT * FROM TABLE WHERE col = @col";
conn.SelectParameters.Add("col", 變數);
conn.InsertParameters.Add("col", 變數);
conn.UpdateParameters.Add("col", 變數);

//Select取值
DataView dv = (DataView)conn.Select(DataSourceSelectArguments.Empty);        //執行Select
Label1.Text = dv.Table.Rows[0][0].ToString();

GridView1.DataSource = dv;
GridView1.DataBind();

沒有留言:

張貼留言