• 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;

            }

    本文所有权归作者,欢迎转载,但是请指明出处 :http://www.cnblogs.com/fly871117 ,严谨用于商业用途
  • 相关阅读:
    测试平台系列(9) 与前端联调注册/登录接口(part 2)
    测试平台系列(8) 与前端联调注册/登录接口(part 1)
    测试平台系列(7) 改造注册接口
    测试平台系列(6) 配置flask-sqlalchemy
    测试平台系列(5) 引入Ant Design Pro
    UICollectionView添加headerView
    iOS UICollectionReusableView xib 拖不了线
    xcode Errors were encountered while preparing your device for development. P
    UICollectionView Cell大小自适应 并靠左对齐最简单的实现
    iOS UICollectionView 一行三个计算 高度
  • 原文地址:https://www.cnblogs.com/fly871117/p/1258696.html
Copyright © 2020-2023  润新知