0

我创建了一个适用于网络的 C# 应用程序。我的应用程序使用 SQL Server 2008 Express。

我的问题是:

当 2 个人同时在 2 台计算机上点击Insert按钮时,数据库中会添加 2 行相同编号的行(即故障)。

如果时间不一样,我的应用程序检查一些条件,这个问题就不会发生。

我的问题是:

现在我想在插入 1 人之前锁定表并在插入后解锁表。

这个怎么做?

4

1 回答 1

0

你必须使用 IDENTITY 列。

如果你想锁定 sql server 中的表,你可以这样做

INSERT INTO Table1 WITH (TABLOCK)
SELECT @Col1, @Col2, @Col3, @Col4 OPTION (FAST 1)

UPDATE Table1 WITH (TABLOCK) 
SET Col5 = @Col5
WHERE @Col1 = @Var

UPDATE Table2 WITH (TABLOCK) 
SET Col = @ColVal 
于 2012-10-29T19:17:19.597 回答