我正在开发一个与SQLServer2005数据库通信以执行某些存储过程的应用程序。我的客户要求所有事务都在C#端进行管理,而不是由SQLServer管理,因此我在访问数据库时使用System.Transactions.TransactionScope。但是,我刚刚看到System.Transactions.Transaction数据类型,我很困惑……每种类型的主要优点/缺点是什么?我应该使用哪一个?请注意,我还必须使用EnterpriseLibrary的数据访问应用程序block。 最佳答案 来自msdn:TheTransactio
我正在使用“TransactionScope”,我只需要在C#代码中执行一些DML,我已成功完成。我需要查明交易的状态是什么,即交易是否成功完成?因为根据交易状态,如果交易完成则我需要执行重定向到另一个页面,否则如果交易未成功完成则我需要在页面上显示错误。我想在以下之后重定向:-scope.Complete();scope.Dispose();请在这方面帮助我。 最佳答案 如果你visittheMSDNpage对于TransactionScope,您会发现这个有据可查的示例:try{//CreatetheTransactionSco
我试图在C#VisualStudio2012项目中添加对System.Transactions的引用,但System.Transactions在框架程序集中不可用,您可以在下面的屏幕截图中看到:有谁知道为什么System.Transactions对我不可用?我怎样才能让它重新出现?编辑:修复了屏幕截图,谢谢Marc! 最佳答案 为此发布了一个MicrosoftConnect条目,其中有一条评论建议您可以浏览它。给出的路径是:C:\ProgramFiles(x86)\ReferenceAssemblies\Microsoft\Fram
这是我的交易范围源代码的当前架构。第三个插入抛出一个.NET异常(不是SQL异常)并且它没有回滚前两个插入语句。我做错了什么?编辑:我从insert2和insert3中删除了try/catch。我还从insert1try/catch中删除了异常处理实用程序并放置了“throwex”。它仍然没有回滚事务。编辑2:我在Insert3方法中添加了try/catch,并在catch语句中添加了一个“throw”。它仍然没有回滚事务。更新:根据我收到的反馈,“SqlHelper”类使用SqlConnection对象建立与数据库的连接,然后创建一个SqlCommand对象,将CommandType
在我们的开发环境中,所有ASP.NET应用程序都运行良好。但是,当我在测试机器上部署站点时,在某些页面上出现此异常:NHibernate.TransactionException:Transactionnotconnected,orwasdisconnectedatNHibernate.Transaction.AdoTransaction.CheckNotZombied()ind:\CSharp\NH\NH\nhibernate\src\NHibernate\Transaction\AdoTransaction.cs:line406atNHibernate.Transaction.Ad
为了在我当前的项目中使用,我创建了一个允许我调用SQLServer异步的类。我的代码是这样的:internalclassCommandAndCallback{publicSqlCommandSql{get;set;}publicTCallbackCallback{get;set;}publicTErrorError{get;set;}}classMyCodes:SingletonBase{privatestaticstring_connString=@"DataSource=MyDB;InitialCatalog=ED;IntegratedSecurity=True;Asynchron
当您将交易存储到数据库中时1)您是否将Credit和debit存储在同一记录的两个不同列下?(没有正负号)示例1ATABLENAME......(Credit)null(Debit)100示例1BTABLENAME......(Credit)250(Debit)null或者2)你是否存储1个值,贷方为正,借方为负?示例2ATABLENAME......(Amount)-100示例2BTABLENAME......(Amount)250 最佳答案 会计师(和许多簿记员,如果他们有什么用的话)知道贷方和借方之间绝对没有区别。它们只是值(
我需要持续监控数据库行以检查更改(更新)。如果其他来源有一些更改或更新,则应该在我的应用程序上触发该事件(我使用的是WCF)。有没有办法连续监听数据库行的变化?我可能有更多的事件来监视同一个表中的不同行。性能有什么问题吗?我正在使用C#Web服务来监控SQLServer后端。 最佳答案 您可以在各自的表上使用AFTERUPDATE触发器将项目添加到SQLServerServiceBroker队列。然后将排队的通知发送到您的网络服务。另一位发帖人提到了SqlDependency,我也想提一下,但MSDN文档有点奇怪,因为它提供了一个W
我对TransactionScope类很好奇。在大多数情况下,我假设它是用于数据库连接(这就是我用它的目的)。我的问题是,您能否将任何代码放入TransactionScope的usingblock中以使其具有事务性?MS文档对此并不清楚。如果它可以用于使除数据库连接之外的代码成为事务性的,那么支持哪些代码?如果它可以使System.IO.File操作具有事务性,这对我来说似乎很疯狂。 最佳答案 TransactionScope不仅适用于数据库。每个实现IEnlistmentNotification接口(interface)的组件都可
我知道对于多部分写入,我应该在nhibernate中使用事务。但是对于简单的读写(1部分)呢……我读到始终使用事务是一种很好的做法。这是必需的吗?我应该做以下简单阅读吗?或者我可以将交易部分全部放在一起吗?publicPrinterJobRetrievePrinterJobById(Guidid){using(ISessionsession=sessionFactory.OpenSession()){using(ITransactiontransaction=session.BeginTransaction()){varprinterJob2=(PrinterJob)session.G