在不同用户的不同计算机上运行程序,同时访问中央数据库 - VB.NET XAMPP/MySQL

问题描述 投票:0回答:1

我们正在创建一个 VB.NET 程序,该程序将在多台计算机上使用,并具有一个位于 XAMPP/MySQL 上的中央数据库。这是我的问题:

  • computer1 中的用户 1 想要编辑表 1 中的一行以输入数据。所以,一切继续进行,他目前正在编辑表 1 第 1 行。
  • 计算机 2 中的用户 2 登录并想要编辑表 1 中相同的第 1 行,也应该编辑数据,但用户 1 仍未完成编辑第 1 行中的数据。

我应该用什么来让user2必须先等待才能完成user1的交易?我相信,如果 user1 和 user2 同时编辑同一行,然后输入不同的数据,就会出现错误/问题,我猜,要么是错误,要么是第一个编辑的数据不会被保存。不过,如果我错了,请随时清除它。

根据我的研究,交易可以用于此目的,但我还不太确定,我想对此有更多解释。我如何将其用于 XAMPP/MySQL 数据库和 VB.NET?有人还告诉我使用“会话”来实现这一点。您认为这之间哪个更好,如果您能用更简单的术语解释一下。

但是,如果有更好的方法来实现这一目标,请告诉我。预先感谢您的帮助!

mysql vb.net session transactions xampp
1个回答
0
投票

一个选项(有许多不同的选项)是有一个自动更新的 TIMESTAMP 字段。每当插入或更新记录时都应该更新。

(参见https://www.mysqltutorial.org/mysql-basics/understanding-mysql-timestamp/

当用户加载记录时,您会加载此时间戳值。然后,当用户单击“保存”时,您的代码会在 UPDATE 语句的 WHERE 子句中检查此时间戳值。这样,如果记录在加载后发生了更改,则 UPDATE 语句将不会影响任何行。然后,您告诉用户他们的更新失败,因为其他人编辑了记录。

© www.soinside.com 2019 - 2024. All rights reserved.