DataGridView修改数据并传到数据库

1、 两个属性设置: 
第一个:设置自动创建列,默认为True 
DataGridView1. AutoGenerateColumns = True; 
虽然默认为True,但写下去总是好的!!! 
第二个:鼠标单击编辑,默认双击 
DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;

2、 防止单元格被编辑: 
DataGridViewCell:限制单元格 
DataGridViewColumn:限制列 
DataGridViewRow:限制行 
DataGridViewReadOnly:限制整个DataGridView控件 
关键代码如下:

    dataGridView1.ReadOnly = true;//整个表格只读
                dataGridView1.Columns[1].ReadOnly = true;//列只读
                dataGridView1.Rows[0].ReadOnly = true;//行只读
                dataGridView1[3,3].ReadOnly = true;//单元格只读

获取数据

string strcolumn = dataGridView1.Columns[e.ColumnIndex].HeaderText;//获取列标题
string strrow = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();//获取焦点触发行的第一个值
string value = dataGridView1.CurrentCell.Value.ToString();//获取当前点击的活动单元格的值

还有一种限制编辑的方式,EditMode枚举下的EditProgrammatically的属性:

dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
//仅在调用 System.Windows.Forms.DataGridView.BeginEdit(System.Boolean) 方法时开始编辑

此属性需要调用一个CellBeginEdit事件,编辑条件写在方法中。

private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
        {
           // dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
           //在点击单元格时,触发此事件,进行有条件的编辑
        }

3、可通过CellValueChanged事件来实现更新数据库的数据数据链接

 private SqlConnection connection()
        {
            string strconn = "server = XQ-20160210KQLE\\SA;uid = sa;pwd = 123456;database = JYXinXi";
            SqlConnection conn = new SqlConnection(strconn);
            return conn;
        }

DataGridView显示数据

private void GetDataGridView()
        {
            try
            {
                string strda = "select * from FilTer";
                SqlConnection conn = connection();
                conn.Open();
                DataSet ds = new DataSet();
                SqlDataAdapter da = new SqlDataAdapter(strda, conn);
                da.Fill(ds, "显示数据");
                conn.Close();
                dataGridView1.AutoGenerateColumns = true;//自动创建列
                dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;//单击单元格编辑
                dataGridView1.DataSource = ds.Tables[0];
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message.ToString());
            }
        }

更新数据库

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            SqlConnection conn = connection();
            try
            {
                string strcolumn = dataGridView1.Columns[e.ColumnIndex].HeaderText;//获取列标题
                string strrow = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();//获取焦点触发行的第一个值
                string value = dataGridView1.CurrentCell.Value.ToString();//获取当前点击的活动单元格的值
                string strcomm = "update FilTer set " + strcolumn + "=‘" + value + "‘where id = " + strrow;
                //update FilTer set 列名 = value where id = 3
                conn.Open();
                SqlCommand comm = new SqlCommand(strcomm, conn);
                comm.ExecuteNonQuery();
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message.ToString());
            }
            finally
            {
                conn.Close();
            }
        }

原文地址:https://www.cnblogs.com/liuqifeng/p/9149694.html

时间: 2024-11-20 05:03:32

DataGridView修改数据并传到数据库的相关文章

PHPstudy修改默认上传大小数据库上传大小限制修改

今天在给客户导入数据库数据,发现phpstudy默认的上传大小是2m,这也太小了,很久之前魅力网络就接触到了这个软件,今天依然觉得它算是好用的,修改这种上传大小限制的参数是常用的修改,今天再次告诉给大家,把数字调大就行,可以在默认的参数后面加0或者按倍数增加也行. 修改地方有三处,我用铅笔画的.

EF 直接修改数据,不再查询数据库

public int UpData(T model, params string[] proNames) { //4.1将 对象 添加到 EF中 DbEntityEntry entry = db.Entry<T>(model); var set = db.Set<T>().Find(DbContextExtensions.GetEntityKey(db, model)); if (set != null) { entry.State = EntityState.Detached;

Execl数据上传到数据库

=============================================================asp.net========================================num = Convert.ToInt32(ini.IniReadValue("Record", "Num").ToString());num++; Random random = new Random();//保存文件的虚拟路径string path

clob保存为本地xml文件,修改后上传

这两天与小伙伴写了一个小程序,实现的功能如下: 首先将数据库的clob保存为本地的xml文件,然后对xml进行修改后上传至数据库 主要的难点如下: 1:clob文件的下载与上传,其中保存为本地的文件要求是UTF-8格式 2:xml文件中节点的修改 clob的上传与下载如下 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.

MySQL数据库基础(二)(约束以及修改数据表)(持续更新中)

一,约束以及修改数据表 约束的作用?1.约束保证数据的完整性.一致性:2.约束分为表级约束.列级约束:3.约束类型包括:NOT NULL(非空约束).PRIMARY KEY(主键约束).UNIQUE KEY(唯一约束).DEFAULT(默认约束).FOREIGN KEY(外键约束): 列级约束:只针对某一个字段:表级约束:针对两个或两个以上的字段: 1.外键约束的要求解析 外键约束作用:1.保持数据一致性.完整性:2.实现一对一或一对多关系:(这是也把MySQL称之为"关系型"数据库的

JDBC操作数据库之修改数据

使用JDBC修改数据库中的数据,起操作方法是和添加数据差不多的,只不过在修改数据的时候还要用到UPDATE语句来实现的,例如:把图书信息id为1的图书数量改为100,其sql语句是:update book set bookCount=100 where id=1.在实际开发过程中,通常会由程序传递SQL语句中的参数,所以修改数据也通常使用PreparedStatement对象进行操作. 实例代码: (1)index.jsp 1 <html> 2 <head> 3 <meta

C#:将图片文件上传到数据库两种方法。

方法1: 将图片复制到指定文件夹,在数据库中存储图片路径,通过读取路径来显示图片. string str; private void toolStripButton1_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { str = openFileDialog1.FileName; pictureBox1.Image = Image.FromFile(str); }

ASP.NET MVC用存储过程批量添加修改数据

用Entity Framework 进行数据库交互,在代码里直接用lamda表达式和linq对数据库操作,中间为程序员省去了数据库访问的代码时间,程序员直接可以专注业务逻辑层的编写.但是对于比较复杂的表关系关联查询或者修改就比较费劲了.通常可以采用的方式是用EF执行SQL语句或者"存储过程",特别是执行复杂批量任务,当然也可以在MVC底层用ADO.NET,这里就不多说了.怎么做批量呢?这里讲讲在EF下用存储过程批量添加修改数据. 需求是这样的:需要批量添加修改产品类别的投放任务数额,每

DataGridView编辑后立即更新到数据库的两种方法

DataGridView控件是微软预先写好的一个显示数据的控件,功能非常强大,可以显示来自数据库表的数据和XML等其他来源的数据.最近在做一个迷你超市管理系统,要大量用到这个控件.所以花时间好好研究了下. 这是迷你超市管理系的库存数据DataGridView,用户一定会想如果能直接在DGV中修改数据就好了. 是的,这是一个很好的想法,这个功能微软早就帮我们想到了,现在可以使两种方法加以实现.下面就来介绍一下他们. 第一张方法:基于DataAdapter对象创建一个CommandBulider,用