C# WINFORM DataGridView同步更新SQL SERVER2008 DATA

  • C# WINFORM DataGridView同步更新SQL SERVER2008 DATA


using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;


namespace DataGridView.Remove.Sql.Server.Data
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void Form1_Load(object sender, EventArgs e)
        {
            //SqlConnection cnn = new SqlConnection("server=.;uid=sa;pwd=system;database=E_TestData");
            //try
            //{
            //    cnn.Open();
            //    SqlDataAdapter sda = new SqlDataAdapter("select * from Employee",cnn);
            //    DataTable dt = new DataTable();
            //    sda.Fill(dt);
            //    this.dataGridView1.AutoGenerateColumns = true;//自动创建列
            //    this.dataGridView1.DataSource = dt;
            //    this.dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;//启动列表编辑模式
            //}
            //catch(Exception ex)
            //{
            //    MessageBox.Show(ex.Message.ToString());
            //}
            //finally
            //{
            //    cnn.Close();
            //}
            dgvBind();
        }


        private SqlConnection GetConnection()
        {
            string constr = "server=.;uid=sa;pwd=system;database=E_TestData";
            SqlConnection myconn = new SqlConnection(constr);
            return myconn;
        }
        private void dgvBind()
        {
            SqlConnection mycon = GetConnection();
            try
            {
                mycon.Open();
                SqlDataAdapter sda = new SqlDataAdapter("select * from Employee",mycon);
                DataTable table = new DataTable();
                sda.Fill(table);
                this.dataGridView1.AutoGenerateColumns = true;//自动创建列
                this.dataGridView1.DataSource = table;
                this.dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;//启动编辑模式
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }
            finally
            {
                mycon.Close();
            }
        }
        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            SqlConnection cnn1 = GetConnection();
            try
            {
                cnn1.Open();
                string str = this.dataGridView1.Columns[e.ColumnIndex].HeaderText+"="+"'"+this.dataGridView1.CurrentCell.Value.ToString()+"'";
                string str1=this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
                string ss="update Employee set "+str+" where NO="+str1;
                SqlCommand sda = new SqlCommand(ss,cnn1);
                sda.ExecuteNonQuery();//启动命令行
                dgvBind();


            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }
            finally
            {
                cnn1.Close();
            }


        }
    }
}