rs默认指向第一条数据的前面,首先你要调用rs.next方法,让他指向第一条数据

解决方案 »

  1.   

    试试:
    if (rs.next()){
      String name=rs.getString("name");
      out.print("the result is:"+name); 
      }
    else{
    out.print("there is no result");
    }
    如果查询结果为空执行out.print("there is no result");
    如果查询结果不为空执行  String name=rs.getString("name");
                            out.print("the result is:"+name); 
      

  2.   

    有的jdbc驱动不支持rs.getString("name")重复使用!
    所以:
    String aa = rs.getString("name");操作aa就ok了!
      

  3.   

    刚才没看清你帖子,你是不是想判断SQL查询的结果中是否有数据库字段有NULL啊?
    如果是的话可以这么写:if (rs.next()){     //判断SQL查询结构是否为空。如果rs.next()为true说明查询结果不空
                        //如果想取出所有的查询结果应把if改为while. 
         String name=rs.getString("name");     
         if (name==null){         //判断name是否为null。但如果判断具体的字符串应该用:
                                  //boolean a=name.equals("kkkkk");   
            out.print("数据库查询结果不为空,name字段的值为空");
          }
         else{
            out.print("数据库查询结果不为空,name字段的值为:"+name);
          }
    else{
       out.print("数据库查询结果为空");
    }
    呵呵,写的详细了点。应该能看懂了吧。
    你的错误就在于没用rs.next()判断查询结果是否为空。一般取得SQL查询结果都要用rs.next()。