事务提交不承诺并且没有错误被抛出

问题描述:

背景:事务提交不承诺并且没有错误被抛出

我已经开发了一个包含业务逻辑类和数据访问逻辑类的类库项目。

我正在使用Microsoft SQL Server 2012数据库(快速)来保存我的数据。

业务逻辑类具有执行验证和任何必要的预保存逻辑的保存方法。验证和预保存成功后,save方法使用数据访问层方法通过与数据库的新连接创建事务,并使用DataAdapters更新数据库。

我一直在WPF项目中使用这些类,并且100%的时间都可以正常工作。

我现在正在开发一个ASP.NET MVC 3项目来创建相同应用程序的Web版本。我在我的ASP.NET应用程序中使用了与WPF应用程序中相同的类库。

我使用VB.NET在我的所有项目中实现。

问题:我的课的

一个不与已经从我的ASP.NET应用程序更改的数据更新数据库。

我已经通过保存逻辑从UI层*通过数据访问层所有的方式,一切都设置正确,但事务提交不会引发任何异常或指示出了什么错,但的信息未在数据库中设置

我已经确认行被修改了数据,调用了DataAdapter Update方法,调用了事务提交方法......一切看起来都很好,并且不会引发任何错误。我尝试了ASP.NET应用程序使用的其他类,并发现它们的保存被完全正确地提交到数据库(这些类使用与问题类相同的设计来保存数据)。我也尝试从我的WPF应用程序调用有问题的类的save方法,并且一切正常(提交实际上将数据提交给数据库)。

我完全处于亏损状态,不知道如何解决我的问题。

请给我一些关于如何调试这个问题的想法!

我不打算发布代码,因为让人们看它太方便了。我只是在寻找关于如何调试的建议以及关于如何检查其他人是否遇到过这个问题的任何建议。

+2

您是否尝试过使用SQL Profiler对数据库进行实际的数据库调用?另外,你是否在数据库中调用存储过程,并且这些存储过程是否已经设置了XACT_ABORT ON? –

+0

我正在使用SQL Express,因此我没有该选项。我试过使用sp_who存储过程,但它对我没有太大的帮助。 – Frinavale

+0

我正在调用存储过程来保存我的信息。 – Frinavale

您可以做的最好的事情是运行SQL Server事件探查器实例来查看数据库级别发生了什么。

正如您使用的是2012版的SQL Server版本,请参阅this link,这样您无论如何都可以获得SQL Server概要分析器。