在我们的多用户访问环境中,有时需要对一组记录执行不同的操作。例如,在 Orders 表中,用户可能想要删除一组订单,或者打印出一组记录等。为此,在 Orders 表中,我创建了一个名为 aSelect 的布尔字段(“a " 是为了避免“Select” SQL 保留关键字)。在订单表单上,用户可以通过单击 aSelect 字段的复选框,然后单击“打印”、“删除”或任何其他操作来检查他们想要处理的订单。然后表单后面的代码说要处理所有订单的操作 WHERE ASELECT=TRUE
问题是,(虽然它还没有发生),aSelect 复选框绑定到表中的基础字段,并且两个用户可以同时更改 aSelect。因此,假设用户 A 选择要删除的两条记录,但在他点击删除按钮之前,另一个尝试打印 100 条记录的用户选择了 100 条记录。结果将是所有 100 条记录都将被删除——这不是预期的结果。
任何解决方案或替代方案?这种情况在整个数据库中多次出现。Orders 表只是一个例子。
谢谢,