C# DataGridView使用SqlDataAdapter.Update刪除和修改資料庫
阿新 • • 發佈:2019-01-05
首先在DataGridView新增選擇框(型別為DataGridViewCheckBoxColumn)。確保資料表設定主鍵。
//資料庫操作變數 DataSet dstSql = new DataSet(); SqlDataAdapter dadstrSql= new SqlDataAdapter(); //資料庫載入函式 private void DisplayData () { string strSql = "select * from info order by time desc"; dadstrSql= new SqlDataAdapter(strSql, conConnect); dstSql.Clear(); dadstrSql.Fill(dstSql, "info "); Dgv.DataSource = dstSql.Tables["info "]; } //窗體載入 private void frmData_Load(object sender, EventArgs e) { DisplayData ();//資料庫載入 } //刪除事件 private void btnDelete_Click(object sender, EventArgs e) { int i = 0; foreach (DataGridViewRow row in Dgv.Rows) { if (row.Cells["選擇"].EditedFormattedValue.ToString() == "True") { i++; } } if (i > 0) { if (MessageBox.Show("確定刪除嗎?", "刪除提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { List<DataGridViewRow> rows = new List<DataGridViewRow>(); foreach (DataGridViewRow row in Dgv.Rows) { if (row.Cells["選擇"].EditedFormattedValue.ToString() == "True") { rows.Add(row); } } foreach (DataGridViewRow row in rows) { Dgv.Rows.Remove(row); SqlCommandBuilder SCB = new SqlCommandBuilder(dadstrSql); dadstrSql.Update(dstSql, "info "); } MessageBox.Show("刪除成功!" + "共刪除" + i + "行", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("請選中要刪除的行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } //修改事件 private void btnAlter_Click(object sender, EventArgs e) { int i = 0; foreach (DataGridViewRow row in Dgv.Rows) { if (row.Cells["選擇"].EditedFormattedValue.ToString() == "True") { i++; } } if (i > 0) { if (MessageBox.Show("確定修改嗎?", "修改提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { List<DataGridViewRow> rows = new List<DataGridViewRow>(); foreach (DataGridViewRow row in Dgv.Rows) { if (row.Cells["選擇"].EditedFormattedValue.ToString() == "True") { rows.Add(row); } } foreach (DataGridViewRow row in rows) { SqlCommandBuilder SCB = new SqlCommandBuilder(dadstrSql); dadstrSql.Update(dstSql, "info "); } MessageBox.Show("修改成功!" + "共修改" + i + "行", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); DisplayData ();//資料庫重新整理 } } else { MessageBox.Show("請選中要修改的行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } }