DAO层代码!求教!

l_dongdong 2009-04-15 01:02:37
private static final String selectPRODUCTBUYMOUNT = "select product_buymount from dg_list where order_id=?";
public static int PRODUCTBUYMOUNT(int ORDER_ID){
try {
ConnManage.openTransaction();

con = ConnectionSource.getConnection();
PreparedStatement pst = con.prepareStatement(selectPRODUCTBUYMOUNT);
pst.setInt(1, ORDER_ID);
ResultSet rst=null;
rst = pst.executeQuery();
while(rst.next()){

// return rst.getInt(1); //返回ORDER_ID
int PRODUCT_BUYMOUNT = rst.getInt("PRODUCT_BUYMOUNT");
return PRODUCT_BUYMOUNT;
}
pst.close();

con.commit();
} catch (SQLException e) {
e.printStackTrace();
return -1;
}

public static void main(String[] args){
// System.out.println(PRODUCTBUYMOUNT);
System.out.println(BuylistDAO.PRODUCTBUYMOUNT(4));
}






现在的情况是
我直接写order_id=4,在数据库中用sql语句查询结果是5,
但是我按照以上的代码来运行的话,打印-1;
说明while(rst.next())里面的根本就没执行。不知道什么原因,求教!!!
...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
l_dongdong 2009-04-15
  • 打赏
  • 举报
回复
catch里面是没执行的,我跟踪了
l_dongdong 2009-04-15
  • 打赏
  • 举报
回复
e.printStackTrace();
return -1;
写错了
这个
return -1;是在外面的
应该没有异常的
连接是获得了的
zuguanqun 2009-04-15
  • 打赏
  • 举报
回复
跟踪一下你catch的错误信息,看看
jishu_vip 2009-04-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 l_dongdong 的帖子:]
……
} catch (SQLException e) {
e.printStackTrace();
return -1;
}

……
[/Quote]

return -1

那你这里肯定是发生了异常啊。

看看获取到数据库连接了没有?
l_dongdong 2009-04-15
  • 打赏
  • 举报
回复
rst = pst.executeQuery();
在这个下面打印rst
//System.out.println(rst);

打印出来是org.apache.commons.dbcp.DelegatingResultSet@16fd0b7

zuguanqun 2009-04-15
  • 打赏
  • 举报
回复
数据库连接上了吗??

rst = pst.executeQuery();
这个rst有值吗?

81,094

社区成员

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

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