您的位置:程序门 -> delphi -> 数据库相关



access两个更新的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


access两个更新的问题[已结贴,结贴人:wanbb]
发表于:2008-02-15 10:42:35 楼主
1.   当adoquery用update更新数据后发现在dbgrid不能实时的显示,需要在查询其他数据后再查询才能显示正常,有人说只要先close后再open就可以了,但我try后没有正常
2.因为程序需要导入数据,所以做了一个将a.mdb(备份)中的数据导入到b.mdb(程序主数据库)中,有相同的数据就更新(程序先找出已存在的数据放到一个listbox中供选择),问题是:我用for循环来判断list中哪些需要更新后在adoquery中用update更新b.mdb中的数据,每次执行代码后发现只有listbox最后一个选中的能更新,其它的不能更新,不知道这是为什么?
我的代码流程如下:

  for   i:=0   to   checklistbox1.items.count-1   do
  begin
    if   checklistbox1.checked[i]   then   //如果选中
      begin
        with   adoquery1   do
          begin
            close;
            sql.clear;
            sql.add('update   b.   inner   join   szyf   on   a=szyf.sfzh   set   ');
            sql.add(......
            EXECsql;
            close;
        end;
    end;
  end;
发表于:2008-02-15 12:33:081楼 得分:20
1、是不是用的同一个dataset?如果是直接insert或者append即可,保存后刷新即可
如果不是需要重新绑定数据
2、循环结构没什么问题,可能是你sql语句的问题,跟踪一下看看
发表于:2008-02-15 12:55:312楼 得分:0
其实第一个问题是在第二个问题后出现的,也就是说先更新了数据后才发现第一个问题的。
另外由于是将a.mdb导入到b.mdb中,所以a和b都是用2个adoconnection连接的,
sql语句没有问题已经验证了,因为每次只更新一条数据就没有问题,只是用了for后才出现的问题。
发表于:2008-02-15 15:44:073楼 得分:0
自己搞定~~


快速检索

最新资讯
热门点击