strSQL = "update message set sign = N'1' where idTo = N'" + toName + "' and sign = N'0'";
db.ExecuteNonQuery(strSQL);
当检索出来满足条件的记录不为1时,即例如满足条件的记录无或者有2条
ExecuteNonQuery执行出错,
SQL Statement : update message set sign = N'1' where idTo = N'小迪' and sign = N'0' Affected Count : 0 数据操作影响的记录数不满足指定数量怎样解决?

解决方案 »

  1.   

    定义一个参数,给你个例子吧!
    CREATE PROCEDURE [Cps_update_UserPass]
    (@User_id  [int],
     @User_UserPass  [varchar](20),
     @retval [int] output)AS 
    begin tran
    UPDATE [Cps].[dbo].[Cps_UserMain] SET 

     [User_UserPass]  = @User_UserPass

    WHERE 
    ( [User_id]  = @User_id)if @@error<>0
    begin
    set @retval=0
    rollback tran
    end
    else
    begin
    set @retval=1
    commit tran
    end
    GO
      

  2.   

    ruanxiaoyong(汇亦得)的办法不就等同于我的方法吗?只是加了判断回滚,好像对我没什么帮助,我要的是一定要成功地方法,不是出错处理
      

  3.   

    以解决
    db.ExecuteNonQuery(strSQL,true);