如何将整个datagridview数据更新到数据库对应的表

时间:2021-10-20 09:05:04
我想做的是一个批量导入数据的功能:
将exce里面的数据导入到数据库(sql)对应的表里面。
现在exce里面的数据是可以导入到datagridview里面,但是现在想把整个datagridview里面的数据更新添加到数据库对应的表里面。
数据库表(userInfoTable)还现在数据:

如何将整个datagridview数据更新到数据库对应的表

这个是datagridview 里面的数据 :
如何将整个datagridview数据更新到数据库对应的表

想在点击确认按钮的时候能将整个datagridview里面的数据更新到数据库userInfoTable表里面。

现在确定按钮里面的代码不懂得要怎么写?

10 个解决方案

#1


能帮忙看下为什么这样的代码不行?
    private void btnUpdate_Click(object sender, EventArgs e)
        {
            dgvProductBulkImportQuery.EndEdit();
            productBulkImportQueryAdd((DataTable)dgvProductBulkImportQuery.DataSource);

        }

        private DataTable productBulkImportQueryAdd(DataTable dtDataTable)
        {
            return productBulkImportQueryAddDB(dtDataTable);
            
        }

        private DataTable productBulkImportQueryAddDB(DataTable dtDataTable)
        { 
        
             string sql = "select * from userInfoTable";
             dtDataTable = UpdataDataTable(dtDataTable, sql);
             dtDataTable.AcceptChanges();
             return dtDataTable;
       }


        public static DataTable UpdataDataTable(DataTable pdataTable, string pstrSelect)   //测试批量导入数据库的代码
        {
            SqlConnection conn = sqlConn.getConnection();
            SqlDataAdapter da = new SqlDataAdapter(pstrSelect, conn);
            SqlCommandBuilder cb = new SqlCommandBuilder(da);
            da.Update(pdataTable);
            return pdataTable;
        }

不会报错也不会更新到数据库。。困惑啊。。。高手指点下。。

#2


无人问津啊。。自己顶上去啊。

#3


使用 SqlCommandBuilder
参考 http://bbs.csdn.net/topics/310175282

#4


在excel里直接复制粘贴到数据库里不得么?

#5


在excel里直接复制粘贴到数据库里不得么? 

我了歌曲,你让客户直接操作数据集库?

#6


引用 1 楼 u010773555 的回复:
             string sql = "select * from userInfoTable";

你sql写的不是查询么,要把数据更新到数据库,不是要用insert或update么
难道是我看错了么

#7


从Excel里导数据到SQL里何必这么麻烦写程序,SQL Server本身就带这个功能。在Management Studio里,选择一个数据库点右键,在“全部任务”里选择导入数据,然后按向导一步一步操作就可以直接导入到表里了。

#8


effun

这个只能是我们自己导入到数据库的,如果客户用?你也让人家自己操作数据库?

#9


已经想到了直接把dgvProductBulkImportQuery.DataSource里面的数据foreach一条一条取出来,一条一条的插入到数据库里面。

#10


请问楼主找到答案了吗?

#1


能帮忙看下为什么这样的代码不行?
    private void btnUpdate_Click(object sender, EventArgs e)
        {
            dgvProductBulkImportQuery.EndEdit();
            productBulkImportQueryAdd((DataTable)dgvProductBulkImportQuery.DataSource);

        }

        private DataTable productBulkImportQueryAdd(DataTable dtDataTable)
        {
            return productBulkImportQueryAddDB(dtDataTable);
            
        }

        private DataTable productBulkImportQueryAddDB(DataTable dtDataTable)
        { 
        
             string sql = "select * from userInfoTable";
             dtDataTable = UpdataDataTable(dtDataTable, sql);
             dtDataTable.AcceptChanges();
             return dtDataTable;
       }


        public static DataTable UpdataDataTable(DataTable pdataTable, string pstrSelect)   //测试批量导入数据库的代码
        {
            SqlConnection conn = sqlConn.getConnection();
            SqlDataAdapter da = new SqlDataAdapter(pstrSelect, conn);
            SqlCommandBuilder cb = new SqlCommandBuilder(da);
            da.Update(pdataTable);
            return pdataTable;
        }

不会报错也不会更新到数据库。。困惑啊。。。高手指点下。。

#2


无人问津啊。。自己顶上去啊。

#3


使用 SqlCommandBuilder
参考 http://bbs.csdn.net/topics/310175282

#4


在excel里直接复制粘贴到数据库里不得么?

#5


在excel里直接复制粘贴到数据库里不得么? 

我了歌曲,你让客户直接操作数据集库?

#6


引用 1 楼 u010773555 的回复:
             string sql = "select * from userInfoTable";

你sql写的不是查询么,要把数据更新到数据库,不是要用insert或update么
难道是我看错了么

#7


从Excel里导数据到SQL里何必这么麻烦写程序,SQL Server本身就带这个功能。在Management Studio里,选择一个数据库点右键,在“全部任务”里选择导入数据,然后按向导一步一步操作就可以直接导入到表里了。

#8


effun

这个只能是我们自己导入到数据库的,如果客户用?你也让人家自己操作数据库?

#9


已经想到了直接把dgvProductBulkImportQuery.DataSource里面的数据foreach一条一条取出来,一条一条的插入到数据库里面。

#10


请问楼主找到答案了吗?