手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

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

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
多用户应用程序中应注意的其它问题(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对象。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!