Connection con=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
Card card=null;
String sql="select * from MTP_SP_CARD_TAB where CARD_ID=? and CARD_PWD=?";

try{
con=DBManager.getConnection();
pstmt=con.prepareStatement(sql);
pstmt.setString(1,cardID);
pstmt.setString(2,cardPw);

rs=pstmt.executeQuery();

while(rs.next()){
card=new Card();
card.setCardID(rs.getString("CARD_ID"));
card.setCardPw(rs.getString("CARD_PWD"));
card.setCardValue(rs.getDouble("CARD_VALUE"));
card.setCartStatus(rs.getString("CARD_STATUS"));
}

}catch(Exception e){
e.printStackTrace();

}finally{
DBManager.clearup(con,pstmt,rs);
}

return card;经检验rs为空这是为什么,而且这条sql语句我直接在Oracle中执行没错。会返回结果。那为什么rs为空呢?
可能是什么原因?谢谢您的指点

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【wtmiao000】截止到2008-06-30 09:54:28的历史汇总数据(不包括此帖):
    发帖数:6                  发帖分:230                
    结贴数:6                  结贴分:230                
    未结数:0                  未结分:0                  
    结贴率:100.00%            结分率:100.00%            
    敬礼!
      

  2.   

    cardID 和 cardPw 是有值吗
      

  3.   

    cardID 和 cardPw 有值啊!还有什么可能呢?
      

  4.   


    while(rs.next()){ 
    card=new Card();    //Card是什么啊?  每次循环都创建一次
    card.setCardID(rs.getString("CARD_ID")); 
    card.setCardPw(rs.getString("CARD_PWD")); 
    card.setCardValue(rs.getDouble("CARD_VALUE")); 
    card.setCartStatus(rs.getString("CARD_STATUS")); 

      

  5.   

    恩这里写得是有点毛病。card是个javabean。因为它只能循环一次。
    主要的问题是:rs是空这是为什么?谢谢您的回复
      

  6.   

    你数据库中的CARD_ID是string还是int类型?
      

  7.   

    你用DEBUG 看一下吧  一步一步来  
      

  8.   

    CARD_ID是: varchar2
    CARD_PWD是:char