苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 12285|回复: 8

[学生提问] 关于datagridview获得数据后用BindingNavigator分页后,数据如何进行更改

[复制链接]
发表于 2017-9-26 16:47:10 | 显示全部楼层 |阅读模式
20金钱
首先,这个问题,我不知道该如何清晰的表达的出来,我努力试着。我是业余的,我自已编了个进销存软件,东抄西拼吧!现在有这样一个问题。 捕获.PNG
首先是没如图上的Binding 的。  我用Datagridview表格,做为数据显示的窗口。显示我要查询的商品资料,SqlDataAdapter.fill的方法。填充表格,然后更改数据了

是用SqlDataAdapter.update的方法。具体代码,下面,我粘贴部分。如今,我想加入一个分页功能,因为数据会多了。我用查到这个 本身有的这个控件,bindingnavigator。这个跟我原来获取数据的方法,不冲突,只要把获到的数据,先放在一个DATATABLE中,再分页显示就行。但更改的时候,就不行了,为什么不行,因为,获取数据时的语句,是固定的,但我改,你不知道,我改了那个。没法用这个方法,我没法在这个界面直接更改数据。

尽管,我可以采取,最土的方法,直接一个语句,一个的更改。但那感觉很麻烦,而且觉得很容易出错。求教下,是否有什么办法可以做到。

或者,有什么问题。非常感谢!



[C#] 纯文本查看 复制代码
 #region 获取数据
        public DataSet getdataset(string str)//获取数据
        {
            sqlopen();
            SqlDataAdapter slda = new SqlDataAdapter(str, Mysql);
            DataSet mydataset = new DataSet();
            slda.Fill(mydataset);
            sqlclose();
            return mydataset;
        }
        #endregion

        #region 获取数据填充到表格并返回表格
        public  DataTable dbconn(string str2)//获取数据填充到表格并返回表格
        {

            SqlConnection conn2 = new SqlConnection(connstr);// 
            this.slda = new SqlDataAdapter(str2, conn2);//使用统一的公共
            DataTable dtselect = new DataTable();

            int i = this.slda.Fill(dtselect);
            conn2.Close();
            //sqliteclose();
            return dtselect;
        }
        #endregion





[C#] 纯文本查看 复制代码
#region 更改进行同步
        public Boolean dbupdate(object dgt, string str)//更改进行同步
        {
            System.Windows.Forms.DataGridView dg = (System.Windows.Forms.DataGridView)dgt;//外显的表格 str查询语句
            DataTable dtyuanshi = new DataTable();
            dtyuanshi = dbconn(str);//调动方法获取原始数据
            dtyuanshi.Rows.Clear();//清除数据

            DataTable dtnew = new DataTable();//定义新的更改好的数据表格
            dtnew = (DataTable)dg.DataSource;//设置数据源

            for (int i = 0; i < dtnew.Rows.Count; i++)
            {
                //  MessageBox.Show(dtnew.Rows[i][3].ToString());

                dtyuanshi.ImportRow(dtnew.Rows[i]);//将新的数据复到DTyuanshi中
            }
            try
            {
                //conn.Open();
                sqlopen();
                SqlCommandBuilder slcmbd = new SqlCommandBuilder(this.slda);

                this.slda.Update(dtyuanshi);

                //conn.Close();
                sqlclose();

            }
            catch (Exception ee)
            {

                MessageBox.Show(ee.ToString());
                return false;
            }
            dtyuanshi.AcceptChanges();//提交更改

            return true;
        }
        #endregion





i




最佳答案

查看完整内容

翻页等于重新查询,更新只能更新当前页。


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2017-9-26 16:47:11 | 显示全部楼层
翻页等于重新查询,更新只能更新当前页。
回复

使用道具 举报

发表于 2017-9-26 17:15:10 | 显示全部楼层
我正常修改的方法是一样的,行列获取之后直接修改即可。
回复

使用道具 举报

发表于 2017-9-26 17:18:38 | 显示全部楼层
没能明白你的问题是什么,你直接说你想做什么样的功能,这样或许我能理解你的意思
回复

使用道具 举报

 楼主| 发表于 2017-9-26 17:48:06 | 显示全部楼层
站长苏飞 发表于 2017-9-26 17:18
没能明白你的问题是什么,你直接说你想做什么样的功能,这样或许我能理解你的意思

您 好,想获得,能查询数据,显示在表格中,并且可分页显示。可以直接在表格直接更改,然后点击一个按钮,更改,就能直接保存在数据库中,数据库为SQL SERVER
回复

使用道具 举报

 楼主| 发表于 2017-9-26 19:12:59 | 显示全部楼层
站长苏飞 发表于 2017-9-26 17:18
没能明白你的问题是什么,你直接说你想做什么样的功能,这样或许我能理解你的意思

如果可以,能否有个实际例子,我自已学习。
回复

使用道具 举报

发表于 2017-9-27 08:41:50 | 显示全部楼层
这个直接用Update语句就行了
这个百度上应该有很多例子

http://blog.csdn.net/kasama1953/article/details/52161612
http://blog.sina.com.cn/s/blog_7850ccad01014p76.html
回复

使用道具 举报

 楼主| 发表于 2017-9-27 13:45:58 | 显示全部楼层
站长苏飞 发表于 2017-9-27 08:41
这个直接用Update语句就行了
这个百度上应该有很多例子

谢谢飞哥,我看了你给的两个例子,我的应该也是用这种方法。但在现在分页后,问题就是出在selec* from table这个语句。因为,我首先,显示数据是这样的语句,但是,分页功能把这些数据分页显示,我看到的,我修改的,只是当面前选择的一部数据。这个时候,这部分数据,就不是selec* from table,这样选择出来的了,而是肯定有些条件,我没法用这个方法更新这些数据了
回复

使用道具 举报

 楼主| 发表于 2017-10-10 13:01:57 | 显示全部楼层
站长苏飞 发表于 2017-9-27 14:17
翻页等于重新查询,更新只能更新当前页。

上来回复下,最后我的问题解决了。主要是思路问题,本来,我是一次性选出数据,通过自带的分页控件分页,但那样更新做不到。我一直想问的就是这么在这个基础上,解决更新数据的问题 ,我查来查去,问来问去,不是我说不清,就是查不到。也许有办法。但还是没找到,最后,,你这句话,提醒了我,找不到,就干脆,都换个办法,于是,我又查了从SQL数据库,分段取出数据,是这样的,自已添加些按扭,结合一下,自已做了个分页,每次翻页重新查询,由于,每次数据都是提取一部分,一个界面一次数据,好像麻烦点,但更新问题解决了。另外也好奇。大家是这么做的。
也谢谢站长苏飞看到这帖子真是高兴!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-27 04:03

© 2014-2021

快速回复 返回顶部 返回列表