ResultSet为什么取不到数据

cuiyunshow 2008-11-10 03:21:47
sql = "SELECT SUM(p.process_money * i.sign) FROM fbs_budget_process p,fbs_item i "
+ " WHERE i.code=p.item_code "
+ " AND instr(p.item_code,'"+item_code+"',1,1)=1"
+ " AND p.enrol_date>=? AND p.enrol_date<? AND p.id!=? "
+ sql
+ sqlPayeeName;
PreparedStatement ps = con.prepareStatement(sql);
ps.setDate(1, this.beginDate == null ? begin_date : this.beginDate);
ps.setDate(2, this.endDate == null ? end_date : this.endDate);
ps.setInt(3, excepid);
ResultSet rs = ps.executeQuery();
if (rs != null && rs.next()) {
System.out.println("process_money = " + rs.getDouble(1)); //结果为0.0
}

这段代码,已经执行if语句了,而且我调试也把sql语句拷贝到数据库中执行有数据
为什么我在程序中却取不到,为题很怪,请帮忙解决
...全文
271 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
cangyue87 2008-11-10
  • 打赏
  • 举报
回复
貌似8楼有道理喵~```
if (rs != null ) 
{
System.out.println("process_money = " + rs.next()); //再跑跑看呢?
}

KingZChina 2008-11-10
  • 打赏
  • 举报
回复
我没用rs.beforeFirst(); 也能取道第一行啊
APOLLO_TS 2008-11-10
  • 打赏
  • 举报
回复
ResultSet rs = ps.executeQuery();
rs.beforeFirst();
if (rs.next()) {
System.out.println("本来就有数据,自己就做了一条怪谁呢????");
}

if (rs != null && rs.next()) {
System.out.println("process_money = " + rs.getDouble(1)); //结果为0.0
}
APOLLO_TS 2008-11-10
  • 打赏
  • 举报
回复
ResultSet rs = ps.executeQuery();
rs.beforeFirst();
if (rs.next()) {
System.out.println("本来就有数据,自己就做了一条怪谁呢????");
}

if (rs != null && rs.next()) {
System.out.println("process_money = " + rs.getDouble(1)); //结果为0.0
}
KingZChina 2008-11-10
  • 打赏
  • 举报
回复
if语句没错 我试过可以得到数据 就应该是你PreparedStatement 放的参数
PreparedStatement ps = con.prepareStatement(sql);
ps.setDate(1, this.beginDate == null ? begin_date : this.beginDate);
ps.setDate(2, this.endDate == null ? end_date : this.endDate);
ps.setInt(3, excepid);

有问题把
KingZChina 2008-11-10
  • 打赏
  • 举报
回复
if执行了 那应该就是PreparedStatement 下面这几行的错了
lgh1117 2008-11-10
  • 打赏
  • 举报
回复
我的最大疑点就是你的sql语句和附加的值,好好的查这两个地方好了!
lgh1117 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 feifanyige 的回复:]
if (rs != null && rs.next()) {
把&&改为||试试
[/Quote]
修改这个&&有可能会报异常的.
feifanyige 2008-11-10
  • 打赏
  • 举报
回复
if (rs != null && rs.next()) {
把&&改为||试试
lgh1117 2008-11-10
  • 打赏
  • 举报
回复
没有报任何异常?
这就奇怪了
不知道你用的是什么数据库
cangyue87 2008-11-10
  • 打赏
  • 举报
回复
跟踪一下参数beginDate, endDate, excepid喵~``

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧