C#對DataGridView進行新增、修改、刪除資料操作
資料庫用的是本地伺服器(MySql):
設定變數:
MySqlConnection conn;
MySqlDataAdapter adapter;
MySqlTransaction trans;
1. // 資料庫聯接
private System.Data.DataTable dbconn(string strSql)
{
string strconn = "host=localhost;database=test;user id=root;password=";
conn = new MySqlConnection();
conn.ConnectionString = strconn;
conn.Open();
this.adapter = new MySqlDataAdapter(strSql, conn);
System.Data.DataTable dtSelect = new System.Data.DataTable();
int rnt=this.adapter.Fill(dtSelect);
conn.Close();
return dtSelect;
}
2. //設定DataGridView的樣式
private void setDgStyle()
{
this.dgselect.Columns.Clear();
DataGridViewCheckBoxColumn colDel = new DataGridViewCheckBoxColumn();
colDel.DataPropertyName = "Del";
colDel.Name = "Del";
colDel.Selected = false;
colDel.FalseValue = "0";
colDel.TrueValue = "1";
colDel.Width = 40;
colDel.SortMode = DataGridViewColumnSortMode.NotSortable;
colDel.HeaderText = "刪除";
colDel.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colDel.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
this.dgselect.Columns.Insert(0, colDel);
DataGridViewTextBoxColumn colID = new DataGridViewTextBoxColumn();
colID.DataPropertyName = "ProductsSpecID";
colID.Name = "ProductsSpecID";
colID.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colID.HeaderText = "產品規格ID";
colID.Width = 160;
this.dgselect.Columns.Insert(1, colID);
DataGridViewTextBoxColumn colNM = new DataGridViewTextBoxColumn();
colNM.DataPropertyName = "ProductsSpec";
colNM.Name = "ProductsSpec";
colNM.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colNM.HeaderText = "產品規格名稱";
colNM.Width = 160;
this.dgselect.Columns.Insert(2, colNM);
DataGridViewTextBoxColumn colUnit = new DataGridViewTextBoxColumn();
colUnit.DataPropertyName = "ProductsSpecUnit";
colUnit.Name = "ProductsSpecUnit";
colUnit.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colUnit.HeaderText = "產品規格單位";
colUnit.Width = 180;
this.dgselect.Columns.Insert(3, colUnit);
DataGridViewTextBoxColumn colPID = new DataGridViewTextBoxColumn();
colPID.DataPropertyName = "ProductsID";
colPID.Name = "ProductsID";
colPID.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colPID.HeaderText = "產品ID";
colPID.Width = 140;
this.dgselect.Columns.Insert(4, colPID);
DataGridViewButtonColumn colButton = new DataGridViewButtonColumn();
colButton.DataPropertyName = "colSearch";
colButton.Name = "colSearch";
colButton.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colButton.HeaderText = "Button";
colButton.Width = 80;
this.dgselect.Columns.Insert(5, colButton);
this.dgselect.RowHeadersWidth = 15;
this.dgselect.ColumnHeadersDefaultCellStyle.Font=new System.Drawing.Font("宋體",14);
}
3. //修改資料,並將資料提交到資料庫
private Boolean dbUpdate()
{
string strSql = "select ProductsSpecID,ProductsSpec,ProductsSpecUnit,ProductsID from tbl_product_detail_master";
System.Data.DataTable dtUpdate = new System.Data.DataTable();
dtUpdate = this.dbconn(strSql);
dtUpdate.Rows.Clear();
System.Data.DataTable dtShow = new System.Data.DataTable();
//dtShow = (DataTable)this.bindSource.DataSource;
dtShow = (System.Data.DataTable)this.dgselect.DataSource;
int p1 = dtShow.Rows.Count;
// try
// {
for (int i = 0; i < dtShow.Rows.Count; i++)
{
DataRowState rowState=new DataRowState();
rowState=dtShow.Rows[i].RowState;
if (rowState==DataRowState.Added || rowState==DataRowState.Detached || rowState==DataRowState.Modified)
{
if (this.dgselect["Del", i].Value.ToString() == "1")
{
dtShow.Rows[i].Delete();
}
}
}
for (int i = 0; i < dtShow.Rows.Count; i++)
{
dtUpdate.ImportRow(dtShow.Rows[i]);
}
int num = dtUpdate.Rows.Count;
try
{
this.conn.Open();
trans = this.conn.BeginTransaction();
MySqlCommandBuilder CommandBuiler;
CommandBuiler = new MySqlCommandBuilder(this.adapter);
this.adapter.Update(dtUpdate);
trans.Commit();
this.conn.Close();
}
catch ( Exception ex)
{
MessageBox.Show(ex.Message.ToString());
trans.Rollback();
return false;
}
dtUpdate.AcceptChanges();
return true;
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10291852/viewspace-1022484/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- c#中如何使用列表datagridview新增修改刪除直接同步到oracleC#ViewOracle
- js操作 新增刪除table行,並進行重新整理JS
- vue對table的某一行的資料進行編輯,刪除操作Vue
- asp.net 對xml檔案的讀寫,新增,修改,刪除操作ASP.NETXML
- Mysql資料庫值的新增、修改、刪除及清空MySql資料庫
- oracle JOB 查詢 新增 修改 刪除 執行Oracle
- JavaScript table表格行進行刪除和新增JavaScript
- Java Web如何操作Cookie的新增修改和刪除JavaWebCookie
- SQL的資料庫操作:新增、更新、刪除、查詢SQL資料庫
- 使用Excel資料進行條件刪除Excel
- jQuery實現的表格新增或者刪除行操作jQuery
- C# 對檔案與資料夾的操作包括刪除、移動與複製C#
- 如何對 ABAP 資料庫表透過 ABAP 程式碼進行更新和刪除操作試讀版資料庫
- redis cluster節點/新增刪除操作Redis
- Cookie新增、獲取以及刪除操作Cookie
- 使用nodejs對Marketing Cloud的contact主資料進行修改操作NodeJSCloud
- C#的DataGridView中自動在行首新增行號C#View
- Asp.net(C#)對檔案操作的方法(讀取,刪除,批量拷貝,刪除...)ASP.NETC#
- Android資料庫高手祕籍(6):LitePal的修改和刪除操作Android資料庫
- C#與資料庫訪問技術總結(十)之新增&刪除C#資料庫
- SRVCTL 刪除和新增資料庫服務資料庫
- HBase之四--(1):Java操作Hbase進行建表、刪表以及對資料進行增刪改查,條件查詢...Java
- git操作基礎:刪除資料夾Git
- oracle資料庫備份刪除操作Oracle資料庫
- JavaScript點選新增行或者刪除行JavaScript
- JQuery對ASP.NET MVC資料進行操作jQueryASP.NETMVC
- 達夢資料庫DM管理工具如何新增修改刪除資料庫欄位資料庫
- Oracle 增加修改刪除欄位與新增註釋Oracle
- vue實現li列表的新增刪除和修改Vue
- Win10系統中PIN碼新增、修改以及刪除的操作步驟Win10
- mysql資料庫誤刪除操作說明MySql資料庫
- oracle資料庫建立、刪除索引等操作Oracle資料庫索引
- SAP 徹底刪除物料主資料操作
- RM 刪除資料檔案恢復操作
- 6.12php對資料庫的刪除和批量刪除PHP資料庫
- [Oracle]Oracle資料庫資料被修改或者刪除恢復資料Oracle資料庫
- 42.QT-QSqlQuery類操作SQLite資料庫(建立、查詢、刪除、修改)詳解QTSQLite資料庫
- vue+element-ui操作刪除(單行和批量刪除)VueUI