C# 当我从客户端应用程序调用sql存储过程时,是否可能引发DBCurrencyException?
我有一项任务(我是学生)。我需要调用DBCurrencyException。当我从更改数据库数据的客户端应用程序调用sql存储过程时,是否可能引发DBCurrencyException?可能吗?默认情况下,ADO.Net数据集使用乐观并发。如果在数据库中不再存在行时尝试将该行更新到数据库中,则结果是错误:并发冲突:UpdateCommand影响了预期的1条记录中的0条 下面是可能发生该错误的场景C# 当我从客户端应用程序调用sql存储过程时,是否可能引发DBCurrencyException?,c#,sql,sql-server,visual-studio,visual-studio-2012,C#,Sql,Sql Server,Visual Studio,Visual Studio 2012,我有一项任务(我是学生)。我需要调用DBCurrencyException。当我从更改数据库数据的客户端应用程序调用sql存储过程时,是否可能引发DBCurrencyException?可能吗?默认情况下,ADO.Net数据集使用乐观并发。如果在数据库中不再存在行时尝试将该行更新到数据库中,则结果是错误:并发冲突:UpdateCommand影响了预期的1条记录中的0条 下面是可能发生该错误的场景 // data row has been added DataRow dr= null; dtT
// data row has been added
DataRow dr= null;
dtTab = (DataTable)Session("dtTab");
dr = dtTab.Rows(e.RowIndex);
dr.Delete();
dtTab.AcceptChanges();
// If Acceptchanges() being not called, row status will be
//detached, that will not be updated to database.
//Without updating database Acceptchanges() called.Row status
//changed to deleted. If this update to database,
// it will give concurrency error-
// because row no longer exist in database.
错误的原因显而易见。数据库中不存在表中行中的记录。但是,delete命令试图从数据库中删除它们。当数据适配器类试图删除一条记录,但没有看到任何行被更改时,它假定发生了并发冲突
下面是关于这个问题的(上述代码的源代码)。本文描述
何时引发DBConcurrencyException以及如何解决
问题请检查一下这张照片
请尝试与存储过程相同的方法,这可能会对您有所帮助。
DbCurrencyException是您创建的类吗?然后在需要时抛出新的DbCurrencyException。如果你需要进一步的帮助,你需要发布给你带来麻烦的代码。我有一个任务。我必须提出这个例外。