在 asp.net 中获取事务中的有效行
Posted
技术标签:
【中文标题】在 asp.net 中获取事务中的有效行【英文标题】:Get effected rows in transaction in asp.net 【发布时间】:2016-05-03 10:05:00 【问题描述】:我在 .net 代码中使用 SQL 事务。 我需要在交易后生效的行。 我有以下代码
Dim result2 As Integer = New SqlCommand(sql.ToString(), connection, transaction).ExecuteNonQuery()
transaction.Commit()
但是即使行受到影响,result2 变量也总是返回零。
谁能给我解决办法?
【问题讨论】:
什么是 sql.ToString() 值? 显示你的sql语句 我错过了在 Exit Sub 之前关闭连接 If result2 = 0 Then show error pop up connection.Close() Exit Sub ,这里我错过了关闭连接。 【参考方案1】:您正在使用ExecuteNonQuery()
,它仅在我们的查询不会返回任何值时使用。所以它总是给你0。你需要使用ExecuteScalar()
并创建一个存储过程,你可以在其中返回没有受影响的行。
【讨论】:
ExecuteNonQuery() 将返回受影响的行。以上是关于在 asp.net 中获取事务中的有效行的主要内容,如果未能解决你的问题,请参考以下文章
如何通过单击 ASP.NET gridview 中一行中的按钮来获取行数据
ASP.NET 和 SQL Server 2008 中的错误“用户 'NT AUTHORITY\IUSR' 登录失败”