您的位置:程序门 -> vb -> 数据库(包含打印,安装,报表)



为什么在access中已经进行了更新,用access打开库,已有更新¦但查询结果却没有更新???????????急!急!!!


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


为什么在access中已经进行了更新,用access打开库,已有更新|但查询结果却没有更新???????????急!急!!![已结贴,结贴人:xjy2004]
发表于:2008-01-11 11:38:38 楼主
public   function   getallunit(con   as   adodb.connection)   as   vector
    dim   strsql   as   string
    dim   rs   as   new   adodb.recordset
    dim   result   as   new   vector
    dim   dunit   as   dictionary
    strsql   =   "select   fname,fdefault,fconvert   from   t_unit   order   by   fdefault,fname"
    rs.open   strsql,   con,   adopendynamic,   adlockoptimistic
    while   not   rs.eof
        set   dunit   =   new   dictionary
        dunit("name")   =   rs("fname")
        dunit("default")   =   rs("fdefault")
        dunit("convert")   =   rs("fconvert"):   debug.print   rs("fname")   &   ":"   &   rs("fconvert")
        result.add   dunit
        rs.movenext
    wend
非常怪的是,我如果调试时,在debug语句行加了断点,结果就能出来;否则就是没有更新的结果?为什么?
数据库是access,用ado
发表于:2008-01-11 11:49:081楼 得分:0
顺便说一下,记录的更新是在其它操作中进行的,这个函数是之后调用查询所有记录的,但就是没有更新记录
发表于:2008-01-11 11:54:192楼 得分:0
我也碰到过这个问题,一个进程更新了数据库,另一个进程不能马上获取到新记录。

建议:等待延时(中间配合   doeevents转让控制权)一段时间,再读库就正常了。

据说还有一个办法,可以改注册表内里的默认设置,楼主可以搜一下,据说挺有用。
发表于:2008-01-11 12:06:233楼 得分:0
dlyme呀,说得详细些,修改注册表中的哪些设置?
发表于:2008-01-11 13:11:004楼 得分:40
jet引擎应该是4.0的吧?
hkey_local_machine—〉software—〉microsoft—〉jet—〉4.0—〉engines—〉jet   4.0  
这下面有个pagetimeout值,默认是5000毫秒(转换成10进制看一下)。把这个值调低一些,效果改善很明显。
但不要太低,低于1000毫秒的话好像就没反应了。


快速检索

最新资讯
热门点击