多客户环境下VB数据库编程之(9)

2008-04-09 04:41:01来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

多用户应用程序中应注意的其它问题(2)

  问题二 再查询与事务

  1.再查询数据

  在多用户应用程序中,如果以可视的形式把数据显示在窗口中,则需要用最新的数据来更新用户的视图。而要获得由其他用户修改了的最新视图,应用程序必须显式地对数据执行再查询操作。为了获得记录集中数据的最新视图,首先应确定记录集是否支持Requery方法。如果ReCordset对象的Restartable属性值为Tme,则可以使用Requery方法来刷新Recordset对象的内容。如果记录集不支持Requery方法,则必须用OpenRecordset方法再次打开记录集。一般说来,重新打开记录集比使用Requery方法要慢一些。下面这个过程,用来测试一个记录集是否可执行再查询。

  过程如下:

  Function RequeryRecordset(dbs As Database,rst As Recordset) As Integer

   On Error Resume Next

   '能够再查询记录集吗?

   If rst.Restartable=False Then

    requeryRecordset=-1

    EXit Function

   End lf

   rst.Requery '再查询记录集

   Select Case Err '处理所有错误

    Case 0

      RequeryReCordset=0

      EXit Function

    Case Else

      Err=0

      '重新打开记录集

      '使用rstNane来获取SQL

      '字符串、表或QueryDef的值

      '记录集最初是基于它们的

      Set rst=dbs.OpenRecordset(rst.Name, rst.Type)

      Select Case Err

    Case0

      RequeryRecordset=0

      EXit Function

    Case Else

      '不返回错误给调用程序

      Err=0

      RequeryRecordset=-l

      EXit FUnctlon

    End Select

   End Select

   End Function

用上面的过程可以再查询一个指定的记录集。如果再查询成功,则过程返回0;如果程序不能对记录集进行再查询,则重新打开记录集。如果不能重新打开记录集,则过程返回-1。该过程有两个参数,其中参数dbs是一个数据库对象;而rst是一个Recordset对象。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:VB 通过API访问 Windows 注册表

下一篇:多客户环境下VB数据库编程之(2)