求助:使用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
...全文
185 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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是什么就行了。
苦逼的小码农 2013-02-04
  • 打赏
  • 举报
回复
引用 1 楼 JasonSSH 的回复:
先确定是否连接成功,之后查看一下你的str_1和str_2是否不为null。 之后你查看一下你的条件是否有对应的结果。 over
我输出了 str_1 str_2 都不为null 而且 语句在SQL server 中运行了 没有出错
苦逼的小码农 2013-02-04
  • 打赏
  • 举报
回复
引用 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?
NoTargetException 2013-02-03
  • 打赏
  • 举报
回复
先确定是否连接成功,之后查看一下你的str_1和str_2是否不为null。 之后你查看一下你的条件是否有对应的结果。 over

81,122

社区成员

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

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