NutzCN Logo
问答 结果集没映射出来????
发布于 2978天前 作者 Nutzjay 1603 次浏览 复制 上一个帖子 下一个帖子
标签:

String sqt="select r.repairId repairId from tapplyrepair r,TSERVICETYPE s,TREPAIRAPPEAR a,TApplyRepairInfo i where r.REPAIRTYPE = s.KID and r.REPAIRAPPEAR = a.appearid(+) and r.REPAIRID = i.repairId and r.ISDISPATCHED = 1 and i.isReceived = 0 ";

    Sql sql=Sqls.create(sqt);      
    sql.setCallback(Sqls.callback.entities());  
        sql.setEntity(dao.getEntity(detailtask.class));  
       dao.execute(sql);
           list = sql.getList(detailtask.class);  
           System.out.println("大小"+list.size());

*****************************************************************************************下面是实体类
public class detailtask {
private String repairId;
public String getRepairId() {
return repairId; }
public void setRepairId(String repairId) {
this.repairId = repairId;
}

映射出list.size()是0,但数据库执行这句sql 有一条数据。???

}

11 回复

用这个count测试一下

String sqt="select count(r.repairId) from tapplyrepair r,TSERVICETYPE s,TREPAIRAPPEAR a,TApplyRepairInfo i where r.REPAIRTYPE = s.KID and r.REPAIRAPPEAR = a.appearid(+) and r.REPAIRID = i.repairId and r.ISDISPATCHED = 1 and i.isReceived = 0 ";
Sql sql = Sqls.fetchInt(sqt);
dao.execute(sql);
System.out.println(sql.getInt());

数据库里查到是1, 但打印出是 0。

@wendal
数据库里查到是1, 但打印出是 0。

是不是查错数据库了。。。

@wendal 没啊,数据库配置是在dao.js里,和我登入是同一个库

那只能看看是哪个条件的影响了,where后面的条件,逐个删除测试一下...

@wendal 我把整个sql 复制到plsql查的,有数据

唯一可疑的是这个了:

a.appearid(+)

难道是JDBC与PLSQL控制台在解析SQL上的差异...

@wendal 确实是有差异,应该这么写 a.(+) 但我索性把这个条件去掉,数据库查到212 ,打印出还是0

@nutzjay 那就继续删条件吧

@wendal 是的,我弄了个最简单的,就放了一个where 条件,打印出有数量

添加回复
请先登陆
回到顶部