datagridview 表功能強大,在表格上改動后,可以直接更新至數據庫。
private void FrmRegion_Load(object sender, EventArgs e) { sql = " select * from region order by region_id "; //order by region_id dt = DBHelper.ExecuteQuery(sql); dataGridView1.DataSource = dt; } private void btnSave_Click(object sender, EventArgs e) { DBHelper.UpdateDataTable(dt, "region"); }
附:DBHelper.cs中的UpdateDataTable()函數代碼
public static int UpdateDataTable(DataTable ds, string strTblName) { try { //創建一個用於填充DataSet的對象 cmd = new SqlCommand("SELECT * FROM " + strTblName + " ", conn); SqlDataAdapter myAdapter = new SqlDataAdapter(); //獲取SQL語句,用於在數據庫中選擇記錄 myAdapter.SelectCommand = cmd; //自動生成單表命令,用於將對DataSet所做的更改與數據庫更改相對應 SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter); return myAdapter.Update(ds); } catch (Exception ex) { MessageBox.Show(ex.Message + "\n 更新失敗,錯誤表名為:" + strTblName); return 0; } finally { conn.Close(); } return 0; }