update返回受影响的行数,判断是否成功

update返回受影响的行数,判断是否成功,但有时where条件不满足,返回0,数据库也应该算是正确执行了,应该返回成功
这个到底要怎么判断呢?

3个回答

楼主:出货在执行update 出现异常 就是执行失败了 , 如果正常返回结果,就是执行成功的。

1,先写一个查询 count 用来计算当where 后面条件与update一致时的条数
2,执行update 语句,没有报错,受影响的就是count值

一般是判断返回值是否小于0,小于0则执行不成功

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
我纠结的sql返回受影响行数与判断是否成功的问题
比如:deleteSQLWhere="delete TableA where ID in(1,2,3,4,5)"; try { int i = sqlHelper.ExecuteNonQuery(CommandType.Text, deleteSQLWhere); ...
SQL返回受影响行数
ExecuteNonQuery()可以返回delete,insert,update操作受影响的行数 如果执行存储过程ExecuteNonQuery()一直返回-1,应检查存储过程中的是否有SET NOCOUNT ON,这句话会阻止返回计数,以减少网络开支,若需要返回值则可屏蔽这句话,或者改为SET NOCOUNT OFF,也可以通过return @@ROWCOUNT来获取受影响行数
SQL存储过程返回受影响的行数
在很多时候,使用存储过程,不需要返回数据集, 但是经常想知道存储过程是否对数据库有影响; 这些,只需要将下列数据放在你需要统计的语句后面即可; select @@ROWCOUNT
Update 判断是否成功
begin tran --事物开始rn Update cy_bt_Rec_Flowrnset Table_Id='123' where Table_Id='456'rnrn Update cy_bt_Rec_Flowrnset Table_Id='456' where Table_Id='123'rnrnrnif(@@Error<0)--判断是否成功rn Commit tran ----事物结束rnelsern RollBack tran--事物轮回rnrnrnrn请问是这样判断吗??
如何判断update是否成功
我在命令按钮里用了一个update,如何判断有没有成功
Mybatis执行update,insert等语句返回的不是受影响的行数
Mybatis执行update,insert等语句返回的不是受影响的行数在我们日常开发中,使用Mybatis框架中,经常会根据update,或者其他操作的返回值判断执行是否成功。如:在执行以上语句时候,需要根据result返回值是否 =1 来判断是否update成功。同样的语句在navicat执行后,若是update没有影响行数,则返回0;而Mybatis不会返回这个,它返回的是匹配行数,所以怎么...
asp.net什么方法是返回受影响的行数
这是我获取表里面列的合计 rnrn string xji = "select sum (sumagg) sumagg from (select B_aggregate as sumagg from B_ABinfo )aa";rnrn database xdc = new database();rn DataTable xda = dc.getdatatable(xji);rn foreach (DataRow xdr in xda.Rows)rn rnrn Label6.Text = xdr["sumagg"].ToString();rnrn rn rnrn我想要这里面所受影响的行数 怎么获得
昨天问过的 执行sql 返回受影响行数
con.setAutoCommit(false);rnpre = con.prepareStatement(sqlStr);rnpre.setString(1, number);rnpre.addBatch();rnint[] a =pre.executeBatch();rnrnfor(int i=0;i
ExecuteNonQuery查询无法返回正确的受影响的行数
我在用ExecuteNonQuery查询数据库时,无论怎么更改都是返回-1,rn是什么原因?如果是数据库设置不正确,请问要怎么设置?源码如下:rnSQL_ValidPWD = "SET NOCOUNT OFF;SELECT EmplCode,EmplName,EmplSex,PassWord,EmplJobCode,EmplDeptCode FROM SysUser where EmplCode=@EmplCode and PassWord=@EmplPWD";rnrn SqlParameter[] parms = new SqlParameter[] rn rn new SqlParameter(PARM_ID, SqlDbType.NChar, 20),rn new SqlParameter(PARM_PWD, SqlDbType.NChar, 20), rn ;rn parms[0].Value = "0503003";rn parms[1].Value = "123456";rnrn int i= SQLHelper.ExecuteNonQuery(SQLHelper.CONN_STRING_NON_DTC, CommandType.Text, SQL_ValidPWD, parms);rn return i; rn
oracle存储过程中设置返回受影响行数
存储过程是执行添加数据的rn在存储过程中做了一个异常处理的操作rn出现异常的时候如何能让存储过程返回受影响行数为零呢(或者关闭返回受影响行数)rnrn我也想过再加上一个参数的问题,可是如果这样的话,项目改动太大rn而oracle中不支持rnSET sql%rowcount off;rn各位有什么好办法么
ASP中ACCESS,update如何返回"是否执行成功",或是返回"受影响的记录条数"
如题
SqlCommand.ExecuteNonQuery 调用存储过程不能返回受影响的行数?
如果不可以的话,那有没有什么办法可以使用得 SqlCommand.ExecuteNonQuery 调用存储过程能返回值呢?
获得受影响的行数
我写了个存储过程,里面有多条update语句,我想让存储过程最后返回最后一条update语句执行后受影响的行数怎么写啊?
ExecuteNoQuery的受影响行数的问题
SqlCommand objcommand = new SqlCommand(sql,objConnection);rnrnint i = objcommand.ExecuteNoQuery();rnrnsql为执行SQLSERVER中的一个存储过程。rnrn现在的问题是:rn在该存储过程中,事务回滚后,ExecuteNoQuery()没有返回-1;rnrn想问一下有没有朋友遇到这种问题。rn或者知道什么原因的朋友,也请指定一下,谢谢~~
怎样判断当前的update是否执行成功
我在存储过程中有同时update几个表中的数据,但是要如何收到更新是否成功呢?rn我的存储过程如下:rnif @tno_left = '1'rnbeginrn begin tranrn update 表1rn update table_2rn ...rn commit tranrnendrnrnif @tno_left = '2'rn begin tranrn update 表3rn update table_4rn ...rn commit tranrnrnif ....rnrn但是要用什么语句才能判断到当前的update是出错呢还是没有符合条件的记录呢??rn
mybatis如何判断update操作是否成功
使用mybatis进行update操作时设置一个int类型返回值,但是这个返回值并不是受影响行数,而是match次数, 所以需要在jdbc url上进行修改,在末尾加上一项?useAffectedRows=true, 即jdbc:mysql://${jdbc.host}/${jdbc.db}?useAffectedRows=true 这样一来返回值即受影响行数了。...
如何判断update语句是否执行成功
如题rnPublic conn As New ADODB.Connectionrn......rnsSQL = "update UserInfo set UserPwd='" & Trim(Text2.Text) & "' where UserName='" & m_operator & "' and UserPwd='" & Trim(Text1.Text) & "'"rnconn.Execute (sSQL)rnrn请问此时如何判断这条语句是否执行成功呢
怎么判断执行insert 和update是否成功?
我使用rnsql="insert table (id) values (2)"rnconn.execute sqlrn那么怎么判断程序执行插入过程是否正确呢?若没有正确执行,怎么的到返回的错误信息呢?rn
判断Insert和Update是否成功的方法
如图,我要实现注释的那段文字的功能,请问怎么判断Insert和Update是否成功?rn[img=https://img-bbs.csdn.net/upload/201409/28/1411864830_149183.jpg][/img]
如何判断Insert或Update是否成功?
Insert或Update影响了多少条记录如何得到?
如何取得受影响的行数?
各位大虾,rnrn我想取得下面的sql语句影响了多少行?rnrndeclare @RetValue floatrnset nocount off rnselect @RetValue=Rank from Customer where CusomerType= 'VIP'rnprint @@rowcountrnrn实际上不论修改了多少行,@@rowcount总是0.rnrn怎么得到受影响的行数?rnrn多谢!rnrnrn
怎么得到受影响的行数
在一个选择语句中怎么得到受影响的行数rn select * frome table where name='fsfd'rn好像有一个全局变量@@effictrow可以得到受到影响的行数,rn可是发现是错了谁记得说一下
单条sql可以通过受影响的行数等于1判断是否成功,那多条呢?
单条sql可以通过受影响的行数等于1判断是否成功,那多条呢?
sql update操作数据更新成功,返回的影响行数是0
以前使用sql server, mysql时候,本能以为update操作返回的行数能判断对记录的操作结果,除了数据库异常,一般确实能反应操作的真实情况,但是,为何却出现update数据更新成功,反而返回影响行数为0的情况呢? 以为可以判断返回值是否大于0来判断更新是否成功,但是,下面的两种情况均返回0: 1、没有找到需要更新的数据 ...
jdbc获取受影响行数问题
按照官方的文档上说,运行了execute(),假如是增删改的语句,可以通过getUpdateCount()获取受影响的行数。但实际测试,获取的一直是匹配行数。一直不解,麻烦各位也试试,看下能不能找到问题的答案,在这里先谢谢各位了。rnrn源代码:rnpublic static void main(String[] args) rn Connection conn = null;rn PreparedStatement stmt = null;rn tryrn Class.forName("com.mysql.jdbc.Driver");rnrn System.out.println("Connecting to database...");rn conn = DriverManager.getConnection(DB_URL,USER,PASS);rnrn System.out.println("Creating statement...");rn String sql;rn sql = "UPDATE user SET nickname = \'father\'";rn stmt = conn.prepareStatement(sql);rn stmt.execute();rn System.out.println("更新1:"+stmt.getUpdateCount());rn stmt.execute();rn System.out.println("更新2:"+stmt.getUpdateCount());rn stmt.close();rn conn.close();rn catch(SQLException se)rn //Handle errors for JDBCrn se.printStackTrace();rn catch(Exception e)rn //Handle errors for Class.forNamern e.printStackTrace();rn finallyrn tryrn if(stmt!=null)rn stmt.close();rn catch(SQLException se2)rn rn tryrn if(conn!=null)rn conn.close();rn catch(SQLException se)rn se.printStackTrace();rn rn rn System.out.println("There are so thing wrong!");rn rnrn[img=https://img-bbs.csdn.net/upload/201802/25/1519534452_102848.png][/img]
asp.net如何得到受影响的行数
在查询分析器里删除时会提示受影响的行数,asp.net里执行删除时 如何得到这个行数啊?rn
mysqli_affected_rows()获取查询受影响的行数
定义 mysqli_affected_rows()函数返回先前的SELECT,INSERT,UPDATE,REPLACE或DELETE查询中受影响的行数   $sql3 = &quot;DELETE FROM art_map WHERE a_id=$did&quot;; $result3 = $mysqli-&amp;gt;query($sql3); $row_affected = mysqli_affected_r...
conn.execute 怎么获取受影响的行数?
应该有这个返回值,不知道怎么写?rnrnconn.execute "delete from t where sex=1"rn怎么获取受影响的行数?
如何取得INSERT, UPDATE, DELETE操作后受影响的行数?
我需要自定义一个函数:rn在函数中执行 INSERT, UPDATE, DELETE 之类的语句,rn然后把受影响的行数作为函数的返回值。rn以便调用者知道操作是否成功。rnrn但是pg_affected_rows() 好象只能在 PHP 中使用。rnrn不知道在自定义函数内,该用什么方法,以及如何使用?rnrn谢谢
如何知道Update是否成功
我用ADO连接SQL Server 远程数据库实现更新,代码如下:rnPrivate Sub cmdOK_Click()rn On Error GoTo WriteResErrrn dbRes.Updatern dbRes.Closern MsgBox "结果提交成功"rn Exit SubrnWriteResErr:rn MsgBox "写入数据库出错!请联系管理员" rnEnd Subrn当我把网线拔掉,再点CmdOK 时,Update并不报错,还提示提交成功,但是数据是不可能提交的rn
为何DBXPress的TSQLQuery的ExecSql不能正确返回受影响行数?
我对dbexpress不太熟悉,今天在使用TSQLQuery的过程中遇到一个问题,就是rnTSqlQuery在下面的情形下不能正确返回RowAffected:rnrn环境:rnDelphi7rnDBExpress的MsSql问题补丁我已经安装rn数据库后台为MsSqlServer 2000rnrn当直接使用SQL语句,不使用参数:rnvarrn vQry: TSqlQuery;rnbeginrn ...rn vQry.Sql.Text := 'insert into table1 values ( 1, ''fdskfdsfd'')';rn Result := vQry.ExecSql(True) <> 0;rnend;rn在我的应用中,该函数的确将数据写入了数据库。但是函数却返回False, 即rnvQry.ExecSql(True) 返回0。按道理应该返回1,困惑。rnrn如果改一改,使用参数和Prepare:rnvarrn vQry: TSqlQuery;rnbeginrn ...rn vQry.Sql.Text := 'insert into table1 values (:field1, :field2)';rn vQry.Params[0].AsInteger := 1;rn vQry.Params[1].AsString := 'fdfdfkdsaf';rn Result := vQry.ExecSql <> 0;rnend;rn则vQry.ExecSql又返回正确的值1。rnrn何解?请各位大侠不吝赐教rnrnrnrn另,不知道为什么在SQL语句有语法错误或执行过程中出现错误时,TSqlQuery不会产生异常,是否需要在那里设置一下呢?初学,请指教
MySQL 修改时返回受影响行数为 0
    刚刚在测试接口时,修改一直提示提交失败,很奇怪,之前跟移动端联调接口时,也偶尔会出现这样的问题,sql 确定没问题,怎么就提交失败呢?因为是偶尔出现的情况而且不知道怎么复现,就安慰自己说是可能有什么机制当sql连接超过某个时间就不执行了也就没有多思考。现在再次遇到这个情况才认真的捋了捋,当接口中判断到修改的返回执行行数为0时就返回提交失败,代码如下:         if (mobileU...
怎么知道update是否成功了?
用的UniQueryrnUPDATE %s SET Name = 'abc' where id=1rnExecSQLrnrn怎么知道是否更新成功了,因为ID可能不存在
@@ROWCOUNT,存储过程返回受影响的行数。分不够可在加。
请问oracle里面有没有象sql server中的@@rowcount的功能那样的函数,通过存储过程返回受影响的行数rnrn比方说rnrnprocedure getTest()rnis rnbeginrnopen Retcursor forrnselect * from table1 rnend getTest;rnrn然后我又想返回结果级,又想返回受影响的行数,不知道该怎么写了,rn在sql server中,我可以在rnselect @@rowcountrn就可以得到了。rnrnrnoralce不知道了,谢谢!
在C#中怎样接受SQL 返回select受影响的行数
已知ExecuteNonQuery()方法对select无效.rn急用!!!!
高分求助mysql 存储过程报错以及如何返回受影响的行数
[code=sql]rnDELIMITER $$rnUSE `xiehou_3`$$rnDROP PROCEDURE IF EXISTS `proc`$$rnCREATE DEFINER=`root`@`localhost` PROCEDURE `proc`(IN iuid INT,IN icnt INT)rnBEGINrn DECLARE idate DATE;rn SELECT `date` INTO idate FROM tb_act20140602_user_value WHERE uid=iuid;rn IF idate IS NULL THEN rn INSERT INTO tb_act20140602_user_value VALUES(iuid,icnt,NOW(),icnt,icnt,NOW());rn ELSEIF idate=CONVERT(NOW(),DATE) THENrn UPDATE tb_act20140602_user_value SET daycnt=daycnt+icnt,maxcnt=maxcnt+icnt,`count`=`count`+icnt,lastModifyTime=NOW() WHERE uid=iuid;rn ELSErn UPDATE tb_act20140602_user_value SET daycnt=icnt,maxcnt=maxcnt+icnt,`count`=`count`+icnt,lastModifyTime=NOW(),`date`=NOW() WHERE uid=iuid;rn END IF;rn END$$rnDELIMITER;rn rn以上语句执行后rnrn(0 row(s) affected)rnExecution Time : 00:00:00:000rnTransfer Time : 00:00:00:047rnTotal Time : 00:00:00:047rnrn(0 row(s) affected)rnExecution Time : 00:00:00:032rnTransfer Time : 00:00:01:201rnTotal Time : 00:00:01:233rnrn(0 row(s) affected)rnExecution Time : 00:00:00:000rnTransfer Time : 00:00:00:015rnTotal Time : 00:00:00:015rnrn错误码: 1064rnYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER' at line 1rnrnExecution Time : 00:00:00:000rnTransfer Time : 00:00:00:000rnTotal Time : 00:00:00:000rnrnrn存储过程proc创建成功rnrnrn调用结果rnrn(1 row(s) affected)rnExecution Time : 00:00:00:093rnTransfer Time : 00:00:00:000rnTotal Time : 00:00:00:093rnrn我[color=#FF0000]就想问为毛有一行报错[/color]rnrn顺便问下如何返回受影响的行数rn[/code]
事务回滚了,为什么返回受影响的行数还是大于0
BEGIN TRANSACTION --事物开始 rnBEGIN TRY rn INSERT INTO A1 ... --这是一条成功的 rn IF(@@ROWCOUNT > 0) rn UPDATE SET A2 ... --这里是一条错误的 rn COMMIT TRANSACTION--事务提交语句 rnEND TRY rnBEGIN CATCH rnROLLBACK TRANSACTION--事务回滚语句 rnEND CATCH rn我执行时,事务确实会回滚。A1里也确实没有新的语句,但我在程序中还是会收到,受影响的行数为1, rn按我的理解,事务回滚了,"INSERT INTO A1"这条操作也撤消了,受影响的行数应该是为0啊,怎么还是为1呢???
判断数据库链接是否成功
需要做一个链接到多个 sqlserver 并把取得的各个数据添加到一个 dataset 中,但是却存在个别 sqlserver 不能链接成功的情况,可否判断如果链接不成功就跳过该链接的方法吗。谢谢
下载是否成功的判断
在一个系统当中,包含了下载的功能,如果下载成功了我要做一定的处理,下载不成功又做相应的处理,其他的都已经做好了,现在就差一个如何判断是否下载成功的问题了,请问一下如何判断是否已经成功下载了
判断导出是否成功
export ORACLE_BASE=/u/oracle/   export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_2   export ORACLE_SID=orcl   export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin   export LD_LIBRARY_PATH=$ORACLE_...
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池