2 s896500398 s896500398 于 2016.09.15 13:22 提问

C#datagridview一次提交多行修改数据

我做好了修改C#datagridview的功能,但是只能每次修改一行,然后选择修改按钮
这样才能保存,如果同时修改多行,就只能保存最后一次修改的结果,可是我想修改多行,然后按修改按钮,能够同时修改多行数据。以下是我修改按钮中的代码:
private void button2_Click_1(object sender, EventArgs e)
{
//计划名称和计划时间
String jihuamingcheng = textBox1.Text;
String jihuashijian = dateTimePicker1.Value.Date.ToLongDateString();
//保存计划

        using (SqlConnection sqlcon = new SqlConnection(strcon))
        {
            sqlcon.Open();
            string id = this.dataGridView1.CurrentRow.Cells[0].Value + "";
            string riqi = this.dataGridView1.CurrentRow.Cells[1].Value + "";
            string neirong = this.dataGridView1.CurrentRow.Cells[2].Value + "";
            string wanchengdu = this.dataGridView1.CurrentRow.Cells[3].Value + "";


          //  string sql = "update " + jihuamingcheng + " set 创建时间='" + jihuashijian + "',内容='" + neirong + "',完成度='" + wanchengdu + "' where 项目号='" + id + "'";
           // SqlCommand command = new SqlCommand(sql, sqlcon);
           // myda = new SqlDataAdapter(command);
            //myset.Tables.Clear();
           // myda.Fill(myset, "" + jihuamingcheng + "");
            //dataGridView1.DataSource = myset.Tables["" + jihuamingcheng + ""];


            if (this.dataGridView1.DataSource != null)
            {
                DialogResult result = MessageBox.Show("确定将此次盘库数据保存至数据库?(存储前请务必核对准确)", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (result == DialogResult.OK)
                {
                    for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
                    {

                        string cmdInsert = String.Empty;
                        cmdInsert = "INSERT INTO " + jihuamingcheng + "(项目号,创建时间,内容,完成度)";
                        cmdInsert += "," + this.dataGridView1.Rows[i].Cells[2].Value + "";
                        cmdInsert += "," + this.dataGridView1.Rows[i].Cells[3].Value + "";

                    }


                }




            }
        }
        //刷新表


        using (SqlConnection sqlcon = new SqlConnection(strcon))
        {
            sqlcon.Open();


            string sql = "select * from "+jihuamingcheng+"";
            SqlCommand command = new SqlCommand(sql, sqlcon);
            myda = new SqlDataAdapter(command);
            myset.Tables.Clear();
            myda.Fill(myset, ""+jihuamingcheng+"");
            dataGridView1.DataSource = myset.Tables[""+jihuamingcheng+""];
        }






    }

2个回答

testcs_dn
testcs_dn   Rxr 2016.09.16 09:37
已采纳

1、使用dataGridView本身的功能,与数据源绑定,将更新同步到数据表;
2、自己编写代码检测修改了哪些行,更新到数据表;

s896500398
s896500398 谢谢你啦,我用的是遍历,取出修改后的datagridview的所有值,然后修改进数据库中。
接近 2 年之前 回复
s896500398
s896500398   2016.09.15 14:49

求大神帮忙解决下。。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Gridview中实现多行数据的统一更新
一下部分内容来自msdn的演练实例,中间加了一些说明是实际操作过程中个人觉得需要注意的地方。 第一步、创建网站 如果您已经通过完成演练:在 Visual Web Developer 中创建基本网页在 Visual Web Developer 中创建了网站,则可以使用该网站,并转至下一部分。否则,按照下面的步骤创建一个新的网站和网页。 创建文件系统网站 打
jqGrid 多行数据修改并一起提交
var lastsel;var list=[]; $(function () { $("#gridTable").jqGrid({ url: '@Url.Action("GetQuotesById", "MaterialGather")', postData: { id: getId() }, data
c#中datagridview对选中的多行进行批量删除的代码示例
if ((MessageBox.Show("確定要刪除嗎﹖", "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)) { if (dgvHJSD.SelectedRows.Count > 0)
一次性编辑GRIDVIEW中所有数据然后批量修改
做项目开发的时候,经常会碰到插入与修改很多数据到服务器,如何做到批量修改,减少往返提交数据,是每个程序员需要考虑的问题.下面的例子就是以NORTHWIND表中EMPLOYEES表中的数据在GRIDVIEW进行一次性编辑前台代码....我只写控件部分      DataKeyNames="employeeid"  >                                  
BootstrapTable如何批量操作多行
1、在BootstrapTable初始化表格时,在表格columns加上checkbox:true,这样第一列就是一个复选框。2、通过jquery操作//获得选中行var checkedbox= $(&quot;#table&quot;).bootstrapTable('getSelections'); //将选中行数据转成jsonStrvar  jsonStr=JSON.stringify(checkedbox);...
向后台一次提交多条记录的解决方案
通常添加功能,都是一次提交只添加一条数据。但有时为了需要,需要一次提交像数据库里提交多条数据。这时就需要一个解决方案。         如上图,要在一个表里面,同时添加8条记录,那么就需要把8条数据同时传到后台,我的解决方案是,通过jquery代码进行表元素循环,具体代码如下 通过这段代码就多条记录同时传到了后台。   后台在通过不同的分隔符将数据分割成记录,字段。     str
C#:直接在DataGridView控件中修改数据
在DataGridView控件中修改数据,主要用到DataTable的ImportRow方法和DataAdapter对象的Update方法。实现的过程是通过DataTable的ImportRow方法将更改后的数据复制到一个DataTable中,然后通过DataAdapter对象的Update方法,将DataTable中的数据更新到数据库中。     ImportRow方法用于将DataRow复制
市委组织部考核项目——利用EasyUi中可编辑的DataGrid控件对多行数据进行编辑并提交
市委组织部考核项目中需要录入原始数据,拿开发区的数据录入举例说明,见下图,需要给查询出的单位录入定量成绩和定性成绩,开始使用弹出框的形式逐条进行编辑,后来考虑如果每一条都需要弹出一次弹出框,每一条都需要一次保存的话,用户可能会不方便,后来发现了easyui中有这么一个好东西,用在这里非常合适——Cell Editing in DataGrid  ????查询出的结果图
postgresql中sql多行语句合并一行
postgresql
jQuery 实现批量提交表格多行数据
批量提交用jquery操作起来还是很方便的,主要的思路就是 在动态生成表格时每一行都存下这条数据的唯一id,然后监听选择,把选中的数据放入数组,最后提交到后台就OK了。 先上一部分代码(这是表头以及一个全选按钮) 平台