首页 新闻 会员 周边 捐助

VS数据库连接功能问题

0
悬赏园豆:10 [已解决问题] 解决于 2010-11-11 13:49

小弟最近写一个程序,使用了Access数据库,我用VS2005的向导功能连接了数据库,并添加了数据源,把其中一个表的部分字段拖到了窗口上进行显示,并把表的DataGridView控件也放上去了,系统自动为我生成了一个导航条,运行程序后发现浏览等功能都能用,但修改后保存功能却是假的,只会修改内存中的DataSet对象,不会实际修改数据库,这是怎么回事,我该怎么办,谢谢!

hmqr的主页 hmqr | 初学一级 | 园豆:147
提问于:2010-11-10 16:58
< >
分享
最佳答案
0

你需要自己手动将 DataSet 中的数据提交到数据库里面。

收获园豆:4
HUHU慈悲 | 大侠五级 |园豆:9973 | 2010-11-10 17:04
他自带的功能不用又有点可惜,可为什么就功能不全呢,郁闷
hmqr | 园豆:147 (初学一级) | 2010-11-10 17:15
我是不是该从一开始的数据库连接就用代码来实现,不用他自动生成的?
hmqr | 园豆:147 (初学一级) | 2010-11-10 17:17
也不用啊, 你只要做最后一步(将数据提交到数据库)就OK了。其他的可以照搬。
HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-11-10 17:32
既然他有方法那你就看看那个方法有没有在其他地方调用过。调用方法对不对。是不是需要什么特殊处理等等。实在不行就自己动手 遍历 表 构建SQL,执行SQL 咯。 用DataTable 来传递数据,做更新的时候,要注意的是 要确保更新数据前后的结构一致。
HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-11-10 17:36
其他回答(3)
0

修改后你没有更新到数据库中,没有用过这么自动化的功能,你得在相应的编辑事件中加上update的代码。

收获园豆:2
Astar | 园豆:40805 (高人七级) | 2010-11-10 17:03
我现在有点迷茫,他自动生成了虚拟的Adapter控件和DateSet控件,而且他的保存按钮的执行代码为: this.Validate(); this.tbSiteInfoBindingSource.EndEdit(); this.tbSiteInfoTableAdapter.Update(this.gNSSDataSet.tbSiteInfo); 他把我的内存中的表作为参数传递了,而且他自己也重写了Update()函数,是这个功能不全吗,我现在都不知道该怎么去改他的函数了,这个功能在C#入门经典中提到过,是数据绑定功能。不知道为什么不能用,谢谢
支持(0) 反对(0) hmqr | 园豆:147 (初学一级) | 2010-11-10 17:12
表模式 越来越流行了啊。 你先确认更改的数据有没有更新到 DataSet 当中。 再确认更新的表是不是做了更改的表。 最后看 Update 方法有没有效果。
支持(0) 反对(0) HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-11-10 17:18
确定已经更新到DataSet中了,但是就是更新语句没有起作用,我调试运行后发现他的Update()函数只不过是把我的表作为参数传递到了oleDB的Adapter的Update()中去了,但是没用
支持(0) 反对(0) hmqr | 园豆:147 (初学一级) | 2010-11-10 17:23
0

确定按钮事件里面你需要调用一下update事件吧?要不然谁知道你要更新数据啊?

收获园豆:1
顾晓北 | 园豆:10893 (专家六级) | 2010-11-10 17:23
请看上面系统生成的代码,他已经调用了Update()方法了
支持(0) 反对(0) hmqr | 园豆:147 (初学一级) | 2010-11-10 17:24
那你看看楼下吧,你先看看更新到数据库中没有。。。
支持(0) 反对(0) 顾晓北 | 园豆:10893 (专家六级) | 2010-11-10 17:35
0

DataGridView的自动编辑和修改功能虽然部署非常容易又快速,但是模式单一又固定,早就不用啦··。

不过我以前也做过类似用DataGridView修改编辑Access,当时莫名其妙的点了修改按钮,但是页面数据不变,但是数据库里面已经修改了数据,郁闷了一段时间后,发现是浏览器设置了页面缓存,才导致查看的数据不一致情况,建议考虑一下环境问题

收获园豆:3
dodohua | 园豆:1037 (小虾三级) | 2010-11-10 17:32
我终于知道是为什么了,不是页面缓存的问题,是出于调试情况下,所有添加的记录在调试结束后都被删除了,我用安装程序试了一下,能正常工作,还害我忙了2天,郁闷!谢谢大家了
支持(0) 反对(0) hmqr | 园豆:147 (初学一级) | 2010-11-11 13:48
你该不会是调试的过程中,等到到了dataset后,以为有更新数据了,就点了一下VS万恶的停止调试的按钮吧?
支持(0) 反对(0) dodohua | 园豆:1037 (小虾三级) | 2010-11-11 15:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册