mysql一个存储过程北调用,返回的结果是空,
然后在JAVA里面RESULTSET接受,现要判断它是空,JAVA代码如何写?现在测出:rs.next()不行,rs==null不行。
然后在JAVA里面RESULTSET接受,现要判断它是空,JAVA代码如何写?现在测出:rs.next()不行,rs==null不行。
解决方案 »
- mysql建立触发器问题
- Ubuntu10.04 编译安装mysql-6.0.0-alpha 源代码问题?
- 求教MySQL存储过程错误异常的记录,和可以单步调试的客户端。
- MySql两个库里面的表连接查询
- 老话重谈,PostgreSQL 和 MySQL 性能,稳定性对比。
- c或者c++语言操作mysql,能不能建立永久连接?
- linux下mysql的like查询不正确的问题如何解决
- http://expert.csdn.net/Expert/topic/2669/2669628.xml?temp=.7963678
- help please!
- 什么情况下适合使用mysql的分区,跟分表有什么区别?
- 请教mysql脚本编写
- mysql中有类似ms server中的系统变量@@error吗?
直接用if(temp==null)即可!
if(rs.next()){ //----------->这样来判断结果集是否为空
//说明结果集不为空
//在进行循环之前要这样
rs.beforeFirse(); //--->注意,这个地方可能产生错误,需要让连接可回退
while(
}else{
//结果集为空!
throw new EmptyResultSetException("Result set is empty");
}
}catch(SQLException ex){
ex.printStackTrace();
}
如果是直接执行的SQL语句,不会出错,
但若是通过rs=call proc_name(var);的方式的话,如果结果是空,那么红色代码会出错啊。
if (!rs.next())判断ts是否为空
只能用 rs==null 或者 SQLException 来控制了。
如何用代码遍历存储过程返回的结果集组成的结果包里的所有结果集?
Connection con = new Connection();//假设已经建立连接了,
CallableStatement cstm = con.CreateCallable();
boolean bl = cstm.execute();//请问这个方法返回的是什么?
是不是存储过程被调用后的返回结果包里面是否有结果集呢?
boolean bl = cstm.execute();
while(bl){
rs = cstm.getResultSet();
//处理rs
bl = cstm.getMoreResultSet();
}