Datagridviewを直接変更してデータベースに保存


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

namespace Quanxian
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        private int job_id;
        private string job_desc;
        private int min_lvl;
        private int max_lvl;

        private void Form2_Load(object sender, EventArgs e)
        {
            binddatagridview();
        }
        /// <summary>
        ///  Datagridview 
        /// </summary>
        private void binddatagridview()
        {
            SqlConnection sqlcon = new SqlConnection("server=.;uid=sa;pwd=;database=pubs");
            SqlDataAdapter sqldap = new SqlDataAdapter("select * from jobs", sqlcon);
            DataSet ds = new DataSet();
            sqldap.Fill(ds);
            this.dataGridView1.DataSource = ds.Tables[0];
        }
        /// <summary>
        ///  
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.Rows.Count > 0)
            {
                job_id = int.Parse (this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
                job_desc = this.dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
                min_lvl = int.Parse(this.dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString());
                max_lvl = int.Parse(this.dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString());
            }
        }
        /// <summary>
        ///  
        /// </summary>
        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection sqlcon = new SqlConnection("server=.;uid=sa;pwd=;database=pubs");
            string str = "update jobs set job_desc='" + job_desc + "',min_lvl=" + min_lvl + ",max_lvl=" + max_lvl + " where job_id=" + job_id + "";
            SqlCommand sqlcom = new SqlCommand(str,sqlcon);
            try
            {
                sqlcon.Open();
                if (sqlcom.ExecuteNonQuery() > 0)
                    MessageBox.Show(" ");
                else
                    MessageBox.Show(" !");
            }
            catch
            {   
                // 
            }
            finally
            { sqlcon.Close();}
        }
        /// <summary>
        ///  
        /// </summary>
        private void button2_Click(object sender, EventArgs e)
        {
            binddatagridview();
        }

    }
}