我在vb和asp编程中写道:sql="select * from table order by no"
rst.open sql,cnn,3,3
rst("name")="aaa"
rst.update
结果在rst("name")="aaa"就会出现错误,如果去掉order by 就没事了!!
还有一个问题,代码如下:
rst.cachesize=100
  j=1
  do while not rst.eof 
   rst("scorea")=score(j-1,0)
rst("scoreb")=score(j-1,1)
rst("totalscore")=score(j-1,2)
rst("beizhu")=score(j-1,3)
j=j+1
'''''on error resume next
rst.movenext
loop
  rst.updatebatch   批量更新,问:1、rst.cachesize语句是不是必需的;2、代码运行的时候同样会出现错误,我用了on error resume next屏蔽掉了错误后,才能实现更新。请问这是怎么回事?谢谢!!

解决方案 »

  1.   

    access 里 update 不能在order by 执行On Error Resume Next 会使程序从紧随产生错误的语句之后的语句继续执行,或是从紧随最近一次调用含有 On Error Resume Next 语句的过程的语句继续运行。这个语句可以置运行时错误于不顾,使程序得以继续执行。可以将错误处理程序放置在错误发生的地方,而不必将控件传输到过程中的其它位置。在调用另一个过程时,On Error Resume Next 语句成为非活动的,所以,如果希望在例程中进行嵌入错误处理,则应在每一个调用的例程中执行 On Error Resume Next 语句。注意 当处理在访问其它对象期间产生的错误时,与其使用 On Error GoTo 指令,不如使用 On Error Resume Next。每次和对象打交道,在不知道用代码访问哪个对象时,检查一下 Err 都会打消这种疑虑。可以确定是哪个对象产生错误(Err.Source 中指定的对象),也可以确定是哪个对象将错误代码放在 Err.Number 中