java-第二个sql语句得到的resultset对象是空的怎么办

问题描述

第二个sql语句得到的resultset对象是空的怎么办

public ListgetAll1(String name) throws Exception {

Listresult = new ArrayList();

Connection con = DatabaseConnection.getConnection();

String na=null;

String sql1= "select * from guanzhu where guanzhu=?";

PreparedStatement ps1 = con.prepareStatement(sql1);

ps1.setString(1, name);

ResultSet rs1 = ps1.executeQuery();

while(rs1.next()){

Connection con1 = DatabaseConnection.getConnection();

na=rs1.getString("beiguanzhu");

String sql = "select * from message where author=? order by modified desc"; PreparedStatement ps = con1.prepareStatement(sql);

ps.setString(1, na); ResultSet rs = ps.executeQuery();

while (rs.next()) {

Message m = new Message();

m.setId(rs.getInt("id"));

m.setTitle(rs.getString("title"));

m.setContent(rs.getString("content"));

m.setModified(rs.getDate("modified"));

m.setAuthor(rs.getString("author"));

result.add(m);

System.out.println(rs.getString("author")+"");

}

}

return result;
}

解决方案

断点一下,看看na等于多少,看看是不是一定没有数据,其实你可以写出来试下,先把第一个条件查出的Message集合放到一个临时的list里面,在用for循环查询下,这样试下也可以。

解决方案二:

你应该学会根据需求提问题,需求都没有。。。天知道怎么解决。 问题描述要详细一点,要包括你预想得到的结果。

解决方案三:

看看前面的con1和ps是否为空。

时间: 2024-11-05 21:41:08

java-第二个sql语句得到的resultset对象是空的怎么办的相关文章

将界面查询条件通过java解析成sql语句

问题描述 将界面查询条件通过java解析成sql语句 新手求助,现在做一个东西,需要将界面查询的条件进行解析成sql条件,比如传进来的 条件为(!ewew&!1)&!ce|( wewe|测试) 和查询字段为content,那么得到的解析语句为 (( content not like '%ewew%' and content not like '%1%') and ( content not like '%ce%') or ( content like '% wewe%' or conten

10种Java开发者编写SQL语句时常见错误_MsSql

Java开发者对于面向对象编程思维与命令行编程思维的协调程度,取决于他们如下几种能力的水平: 技巧(任何人都可以编写命令行形式的代码) 教条(有的人使用"模式 - 模式"的方式,即模式无处不在,并以名字作为标识) 情绪状况(在初期,真正面向对象形式的代码比起命令式代码会更加难懂.) 但是,当Java开发人员编写SQL语句时,一切都变得不同了.SQL是一种说明式语言,与面向对象思想和命令式思想无关.在SQL语言中,查询非常容易表达.但它也不是那么容易以最佳或最正确地方式编写出来.开发人员

怎样实现把第一条SQL语句的结果作为第二条SQL语句的参数

问题描述 第一条SQL语句selectMANAGERfromDepartmentwhereDEPT_IDin(selectDEPT_IDfrom[User]where[USER_ID]='lisi')第二条SQL语句select*fromDiarywhere[USER_ID]in('第一条SQL语句')----括号里是字符串 解决方案 解决方案二:写存储过程解决方案三:急.........解决方案四:怎么写存储过程啊求教解决方案五:select*fromDiarywhere[USER_ID]in

10种Java开发者编写SQL语句时常见错误

Java开发者对于面向对象编程思维与命令行编程思维的协调程度,取决于他们如下几种能力的水平: 技巧(任何人都可以编写命令行形式的代码) 教条(有的人使用"模式 - 模式"的方式,即模式无处不在,并以名字作为标识) 情绪状况(在初期,真正面向对象形式的代码比起命令式代码会更加难懂.) 但是,当Java开发人员编写SQL语句时,一切都变得不同了.SQL是一种说明式语言,与面向对象思想和命令式思想无关.在SQL语言中,查询非常容易表达.但它也不是那么容易以最佳或最正确地方式编写出来.开发人员

挑战:java 批量查询SQL语句

问题描述 现有一批SQL语句集,此集合中的SQL语句格式不固定,但都执行的是select 查询. 要求:和数据库只建立一次连接,多次执行,每条SQL语句执行完之后都能有一个返回值.在批量操作数据方面,java提供了批量更新,但是更新要求SQL语句格式是固定的,变的只是参数.此问题,是一个挑战!欢迎各位献策! 解决方案 给你提供一个dao模板方法用Object...args语法,但只限在返回一列数据先用Object...args写一个通用的dao方法:public static List<Obje

java中执行sql语句参数设置问题

问题描述 想问下:java里面:1.String cust_no="123456";StringBuffer qry = new StringBuffer();qry.append(" SELECT * ");qry.append(" FROM TORDERDETAIL ");qry.append(" where CUST_NO =? ");pStmt = conn.prepareStatement(qry.toString(

JAVA无法执行SQL语句,在Postgresql中执行正常?不知道什么原因

问题描述 SQL语句如下:java中执行语句如下:sql="selectname,num,asText(geom)asgeom,addressfromhzpbwherehzpb.c_idin(selectc_idfromcitywherec_namelike'%江%')"rs=stmt.executeQuery(sql);在java中就是无值输出 解决方案 解决方案二:该回复于2009-04-13 13:08:35被版主删除解决方案三:子查询里没有值吧

通过java来格式化sql语句

经常在抓取一些sql语句的时候,得到的sql文本有格式的问题,如果尝试得到执行计划,每次都会费一番周折. 比如下面的sql语句,基本包含了常见的格式问题.第3行,第4行出现了断行,执行的时候就会报错. select /*+ leading(s) index(s TABLE_BPM_STEP_INST_5IX) use_nl(s p p step) */ s.ALLOW_CREATE, s.ASSIGNEE, s.ASYNC_RETURNED_PARAMS, s .ATTACHER2STEP_IN

同样功能的SQL语句 写成参数和写成常量的差别

今天写一个存储过程,由于执行的时间比较长(7秒)所以打算优化一下.结果在优化测试代码中发现如下 一个奇怪的现象. 现在有一个表mis_gl_balance,其中有一个字段ACC_SEGMENT VARCHAR(181) NULL ,他的内容的形式如 下: 3810.105301.5414070180.000000.00000000.0000.000000 另外一个表finance_budget_account 主要记录了budget_type 预算类型和mis_code MIS系统编码.这 里的