Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL Server 2008上的行锁示例?_C#_Database_Sql Server 2008_Locking - Fatal编程技术网

C# SQL Server 2008上的行锁示例?

C# SQL Server 2008上的行锁示例?,c#,database,sql-server-2008,locking,C#,Database,Sql Server 2008,Locking,我有一个SQL Server 2008数据库,其中包含一个项目表。许多用户正在查看项目,可以随时选择签出可用项目。我希望有一个简单的锁定方案,用户单击一个项目,然后服务器获取一个ROWLOCK,检查该项目是否已签出(读取该行),检查是否可用(更新该行),然后释放锁 我还没有找到任何代码示例来说明如何完全做到这一点。大多数例子都集中在一条语句上,而不是多条语句。我认为这是不可能的 在工作中,我们通过在服务器上运行的程序来实现这一点 所有的请求都通过这个程序。也许你可以阅读,但我不确定它是否有效…

我有一个SQL Server 2008数据库,其中包含一个项目表。许多用户正在查看项目,可以随时选择签出可用项目。我希望有一个简单的锁定方案,用户单击一个项目,然后服务器获取一个ROWLOCK,检查该项目是否已签出(读取该行),检查是否可用(更新该行),然后释放锁


我还没有找到任何代码示例来说明如何完全做到这一点。大多数例子都集中在一条语句上,而不是多条语句。

我认为这是不可能的

在工作中,我们通过在服务器上运行的程序来实现这一点


所有的请求都通过这个程序。

也许你可以阅读,但我不确定它是否有效……我读过,但它只包含一条语句。如何确保锁在整个事务中保持不变?