【发布时间】:2010-07-25 20:59:32
【问题描述】:
如果表中有一行,我正在尝试更新记录。更新记录后,我想从我的方法中返回 TRUE。我正在使用以下查询。我使用的是 SQL Server 2005。我如何知道我的 SQL 查询是否更新了表?请告诉我。
Private Boolean UpdateTable()
{
string sql = "IF EXISTS(Select A.CNum FROM TABLEA A, TABLEB B WHERE A.CID= B.CID AND A.CNum is NULL AND CID=@cID) BEGIN ..... END"
}
谢谢你..
【问题讨论】:
-
如果使用关键字 SET NOCOUNT ON,返回通过 RowsAffected = obj.ExecuteNonQuery() 影响的行可能会导致 -1 值。最好坚持通过 OUTPUT 参数或 SELECT RowsAffected = @@ROWCOUNT 记录集返回计数 - 以防万一您使用 SET NOCOUNT ON。如果您要检索下面的 RowsUpdated 版本,请不要使用 SET NOCOUNT ON 关键字,但恕我直言,我总是打开 SET NOCOUNT ON;因为命中是如此昂贵,在我的标准和最佳实践书中我一直使用它。这就是我想警告你的原因。