MySql返回上一次插入行的影响数以及动态Sql时返回影响数的位置和Java端的写法
2011-07-18 21:22
465 查看
动态内容没什么可说的,主要说的是如何返回存储过程里受影响的行数
在Mysql中ROW_COUNT()返回前一个SQL进行UPDATE,DELETE,INSERT操作所影响的行数。SELECT 影响的就用FOUND_ROWS()
Java代码
在Mysql中ROW_COUNT()返回前一个SQL进行UPDATE,DELETE,INSERT操作所影响的行数。SELECT 影响的就用FOUND_ROWS()
BEGIN SET @strSql = CONCAT('INSERT INTO `chargingPole`.`tb_electricPrice`( `tb_electricPrice`.tb_electircGroup_eg_id, `tb_electricPrice`.ep_start, `tb_electricPrice`.ep_end, `tb_electricPrice`.ep_price ) '); SET @strSql = CONCAT(@strSql,arg_select); PREPARE s1 FROM @strSql; EXECUTE s1; -- 只能放在这里,放在DEALLOCATE语句后就只返回-1 -- SELECT ROW_COUNT() INTO arg_affectRows; DEALLOCATE PREPARE s1; END
Java代码
try { CallableStatement cs = conn.prepareCall(sql); cs.setString("arg_select", buffer.toString()); cs.registerOutParameter("arg_affectRows", Types.INTEGER); cs.executeQuery(); int result = cs.getInt("arg_affectRows"); if (result == (length + 1)) { back = "success"; } else { back = "failed"; } } catch (Exception e) { e.printStackTrace(); }
相关文章推荐
- java格式化字符串,在指定位置插入指定字符串,兼容中英文以及特殊字符,例如:换行,用于解决生成pdf换行问题等问题
- java格式化字符串,在指定位置插入指定字符串,兼容中英文以及特殊字符,例如:换行,用于解决生成pdf换行问题等问题
- 解决java插入mysql时出现java.sql.SQLException: Incorrect string value: '\xF0...'问题
- MySQL中使用sql语句插入日期时间类型的写法
- Sql 存储过程 即返回结果集又返回值 以及动态创建视图
- mysql导入CSV文件及JAVA读取CSV文件和MYSQL批量插入和更新及ibatis常用SQL语句
- mysql通过mybatis insert数据时,返回插入数据的动态id
- mysql插入中文数据报错 java.sql.SQLException: Incorrect string value: '\xE5\x90\x88\xE8\xAE\xA1' for column
- 【Java】给定两个32位的整数N与M,以及表示比特位置的i与j。编写一个方法,将M插入N,使得M从N的第 j 位开始,到第 i 位结束。
- JAVA连接mysql数据库,动态创建表以及动态插入数据
- mysql中使用sql语句插入日期时间类型的写法
- java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
- Java--批量插入更新在一条sql里解决-mybatis-mysql-联合主键(建立唯一索引)
- php单双引号对变量解析的影响以及php向mysql插入数据时的变量解析问题详解
- mysql插入中文数据报错 java.sql.SQLException: Incorrect string value: '\xE5\x90\x88\xE8\xAE\xA1' for column
- java数据库MySql以及SQL语句
- 【SQL】如何一次(一条SQL语句)向ORACLE中插入多组/多条数据,不同于mysql
- JAVA 折半查找 如果有返回角标 如果没有返回要插入的位置。
- mysql java使用PreparedStatement插入数据并返回id的代码
- mysql java使用PreparedStatement插入数据并返回id的代码