求助:使用ResultSet接收查询结果总是结果集无当前行

苦逼的小码农 2013-02-03 04:42:48
代码大概如下

String sql_1 = "select * from or_detail where orderId=? and productCode=?"
String str_1 = request.getParameter("orderId");
String str_2 = request.getParameter("productCode");
ResultSet rs_1 = (new JDBCutil()).execute(sql_1,str_1,str_2);
if(rs_1.next()){
double price = rs_1.getDouble("price");
double qty = rs_1.getDouble("qty");
}

//JDBCutil 的execute方法如下
public ResultSet execute(String sql ,String str_1,String st_2){
session = this.getSession();
ResuleSet rs = null;
try{
conn = session.connection();
pstat = conn.prepareStatement(sql);
pstat.setString(1,str_1);
pstat.setString(2,str_2);
rs_1 = pstat.executeQuery();
}catch(Exception e){
e.printStackTrace();
}
return rs_1;
}

我接收的结果 就是无法进入 if循环
就是 我的rs_1.next() 为 false
...全文
109 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
morelzh 2013-02-04
str1的类型改为int, String str_1 = request.getParameter("orderId");改为 int str_1=Integer.parseInt(request.getParameter("orderId"));
  • 打赏
  • 举报
回复
a597926661 2013-02-04
引用 5 楼 fangmingshijie 的回复:
debug下,看ResultSet rs_1 = (new JDBCutil()).execute(sql_1,str_1,str_2);返回的rs_1是什么就行了。
+1 楼主debug看一下吧 可能是造型的问题
  • 打赏
  • 举报
回复
菖蒲芭芭 2013-02-04
是不是类型的问题 orderId=? and productCode=? 比如orderId应该是setInt之类的。。。
  • 打赏
  • 举报
回复
debug下,看ResultSet rs_1 = (new JDBCutil()).execute(sql_1,str_1,str_2);返回的rs_1是什么就行了。
  • 打赏
  • 举报
回复
引用 1 楼 JasonSSH 的回复:
先确定是否连接成功,之后查看一下你的str_1和str_2是否不为null。 之后你查看一下你的条件是否有对应的结果。 over
我输出了 str_1 str_2 都不为null 而且 语句在SQL server 中运行了 没有出错
  • 打赏
  • 举报
回复
引用 2 楼 nmyangym 的回复:
方法里的定义了rs, 但没用,而是给rs_1赋值,并返回rs_1,这个rs_1是否应是rs?
额 这个是我书写错误 方法中的rs_1 应该是 rs 额 写错了
  • 打赏
  • 举报
回复
nmyangym 2013-02-03
方法里的定义了rs, 但没用,而是给rs_1赋值,并返回rs_1,这个rs_1是否应是rs?
  • 打赏
  • 举报
回复
先确定是否连接成功,之后查看一下你的str_1和str_2是否不为null。 之后你查看一下你的条件是否有对应的结果。 over
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
加入

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2013-02-03 04:42
社区公告
暂无公告