菜鸟问题:关于数据库的更新

coordinate2003 2008-07-08 05:25:14
我以前用PB的,在修改数据库的时,先用GetModifiedCount看看数据窗口是否进行了修改,如果进行了修改,再调用update函数.
但是,VB.NET如果做一个编辑数据的窗口,它不能像PB那样一下把文本框,下拉列表框等作为一个整体,像上面说的那样更新.那第VB.NET中怎么判断数据已经更改了呢?
我想到了,先把读出来的数据保存在一些变量中,再在更新时与对应的控件的内容进行比较,但我感觉比较麻烦,所以,我想知道在VB.NET中是怎么做的?
还有,就是新插入的记录,我现在只会把把控件中的内容形成INSERT语句,更新到数据库中,但随之进行再修改的话,就得形成UPDATE语句,这就回到上面的问题.VB.NET怎么做把两个过程统一起来,方便有效?
总之,我菜,真的很菜,知道些基本的ADO.NET操作数据库的方法,但是,不知道实际操作中有什么成熟的套路.
而看的书,讲的太入门,几乎只讲了用设计器,关联控件与数据控件
...全文
112 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanlongwuhui 2008-07-10
  • 打赏
  • 举报
回复
pb和VB.NET的应用领域不一样。PB的强项就在数据窗口上
coordinate2003 2008-07-09
  • 打赏
  • 举报
回复
不难吧,请各位帮帮忙吧
coordinate2003 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Tracy5453 的回复:]
你要判断是否已经更新?是不是怕两用户同时操作一条记录?
[/Quote]
不是这个意思,没有这么复杂!
不过,给我讲讲这个也不错!
谢谢
coordinate2003 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yanlongwuhui 的回复:]
跟PB中的概念应该是一样的,GetModifiedCount是判断数据窗口是否进行了修改,你VB.NET用的应该是DataGrid控件吧,你只要用个变量来记录是否控件单元中有数据被修改过,也能实现你要的效果
[/Quote]
不是用DataGrid,是用一组控件,如一组文本框和下拉列表.
用一组变量记录原始的数据,再和这些控件中内容进行比较,像我在帖子里说的那样我已经想到了,只不过,我觉得有10个字段就10个判断,太麻烦,我由于对VB不太熟,所以想请教各位仁兄,想知道你们实际做项目时,有没有更简单的办法?
yanlongwuhui 2008-07-09
  • 打赏
  • 举报
回复
跟PB中的概念应该是一样的,GetModifiedCount是判断数据窗口是否进行了修改,你VB.NET用的应该是DataGrid控件吧,你只要用个变量来记录是否控件单元中有数据被修改过,也能实现你要的效果
Tracy5453 2008-07-09
  • 打赏
  • 举报
回复
你要判断是否已经更新?是不是怕两用户同时操作一条记录?
coordinate2003 2008-07-09
  • 打赏
  • 举报
回复
等待...
coordinate2003 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 linmei19840721 的回复:]
谢谢
[/Quote]
????
linmei19840721 2008-07-09
  • 打赏
  • 举报
回复
谢谢
coordinate2003 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yanlongwuhui 的回复:]
如果你要精致比较,那就需要记录原先的值,等更新数据库前进行判断。要不你可以做个全局变量(private blnChanged As Boolean=False),在所有的Textbox的TextChanged事件和listbox中SelectedIndexChanged写一句:if blnChanged=false then blnChanged=true。更新的时候只要判断blnChanged是否为TRUE就可以了。(确定就是只能判断是否改变过,而不能判断改变过的前后的值是否一样。也就是修改后,有改回去,也会判断为改变过)

[/Quote]
看来,这东西还是PB简单点
yanlongwuhui 2008-07-09
  • 打赏
  • 举报
回复
如果你要精致比较,那就需要记录原先的值,等更新数据库前进行判断。要不你可以做个全局变量(private blnChanged As Boolean=False),在所有的Textbox的TextChanged事件和listbox中SelectedIndexChanged写一句:if blnChanged=false then blnChanged=true。更新的时候只要判断blnChanged是否为TRUE就可以了。(确定就是只能判断是否改变过,而不能判断改变过的前后的值是否一样。也就是修改后,有改回去,也会判断为改变过)
另外窗体上所有的TEXTBOX和LISTBOX都是用来显示字段的话,可以通过遍历窗体上所有TEXTBOX控件和LISTBOX来进行判断,这样代码能简单些,不过前提必须是所有TEXTBOX控件和LISTBOX都是用来显示字段的。

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧