C# 自行撰寫sql連線及綁定Gridview

如何不使用SqlDataSource ,自行撰寫sql連線並且綁定到GridView上。

無論是在mySql 或是 MsSql 該如何利用.cs 去自行撰寫sql connection 以及sql command 並且綁定到Gridview上。


Step 1:首先拉出一個GridView,並且檢視原始碼。

Step 2:設定Sql連線字串,可以發現其實無論是mySql 或是 msSql 都大同小異

//MySql connection
MySqlConnection conn = new MySqlConnection("Data Source=IP;Initial Catalog=DB;User ID=xxx;Password=xxx");
//MsSql connection
SqlConnection conn = new SqlConnection("Data Source=IP;Initial Catalog=DB;User ID=xxx;Password=xxx");
conn.Open();

Step3:寫sql Command 

//MySql
MySqlCommand cmd = new MySqlCommand("Select odh_no as 訂單編號,odh_cm as 客戶編號From odh where To_JEAN = 'T'", conn);
//MsSql
SqlCommand cmd = new SqlCommand("Select odh_no as 訂單編號,odh_cm as 客戶編號From odh where To_JEAN = 'T'", conn);

這邊的 as ...則是因為待會我們要綁定 GridView時的表格欄位名稱,若沒有寫as ...則會直接呈現的是原始在資料庫的資料欄位名稱

Step4:利用sqlDataAdapter 填入

DataAdapter 類別 主要是用來將資料填入DataSet 類別DataTable 類別,然後更新資料來源,使用Fill方法載入。

DataTable dataTable = new DataTable(); 
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dataTable);
GridView1.DataSource = dataTable; //告訴GridView資料來源為誰
GridView1.DataBind();//綁定
conn.Close(); //連線關閉            

※若為insert update delete這種會動用到資料庫的指令,請記得加入Transcarion 資料庫交易事件

 SqlTransaction msTrans = new SqlTransaction ();
 msTrans = conn.BeginTransaction();
 cmd.Transaction = msTrans;

 cmd.ExecuteNonQuery();//執行sqlString

 msTrans.Commit();

 

 


Q&A

Q1.若我想要gridView 可能按了一個button 後,重新載入一次該怎麼做呢??

A1.使用GridView1.DataBind();再次綁定