| | | 多客户环境下VB数据库编程之(9) | | 2001-02-16·
·--··vbeden
| 上一页 1 2 为了调用上面的过程,可以在窗体上画一个命令按钮,然后编写如下的事件过程:
Private Sub Command1_CliCk()
Dim Mvdbs As Database
Dim MvTab As Recordset
Set Mydbs=OPenDatabase("c:\dbdir\db1.mdb",dbOpenDynaset)
Set MyTab=Mydbs.OpenRecordset("Tabel1",dbOpenTable)
a=RequeryReCordset(Mydbs,MyTab)
If a=0 Then
MsgBox "再查询成功"
ElSe
MsgBox "不能执行再查询"
End if
End Sub
程序运行后,单击命令按钮,将调用上面的过程,然后根据具体情况显示相应的信息框。在一般情况下,大多数Recordset对象是可重启动的(或者是可以被再查询的),但基于传递查询和没有固定列宽的交叉表查询的Recordset对象例外,不能再查询这些类型的Recordset对象,为了获得数据的最新状态,必须重新打开这些对象。
2.在多用户环境中使用事务
可以用Microsoft Jet事务把更新划分为多个单元,使它能够被当作整体提交或回退。由于事务缓冲区的更新是临时文件,而不是实际的表,所以它们在多用户环境中也是有用的。在多用户环境中,事务的一般用途是:确保用户在变更共享数据时,所看到的共享数据的视图是完整的。例如,假定应用程序正在执行更新数据的代码,而另一个用户又正在生成相同数据的报表。如果更新没有被包装进事务中,则生成报表的用户接收到的数据可能是不一致的。而如果把更新包装进事务中,则可以确保共享数据的其它用户视图在代码结束运行之前不会受到代码的影响。注意,不要使事务保持打开的时间太长。由于编辑事务而产生的所有锁定,在事务被提交或回退之前,将保持锁定状态,这可能会对应用程序的多用户并发产生有害的影响。 上一页 1 2 | | | 感谢
访问天极网,如果您觉得该文章涉及版权问题,请看这里!
|
|