ResultSet未接收数据

时间:2018-03-09 03:01:59

标签: java sql jdbc resultset

我尝试验证用户通过html收到的用户名和密码,但我的结果集没有收到任何数据,请检查我的sql查询并更正我,谢谢你

 String vuname=response.getParameter("username");
   String vpswd=response.getParameter("password");
        String vsql="select * from login where username = '" + vuname + "' and password = '" + vpswd + "'";
        System.out.println("----sql-----"+vsql);
        ResultSet rs = stmt.executeQuery(vsql); 

        out.println("This is result set "+check);
        if(!rs.next())
        {
            System.out.println("-----Failure------");
        }
        else
        {
            System.out.println("-----Success------");
            rd.forward(request,response);
        }
        }
        catch(Exception e)
        {}
    }

  }

1 个答案:

答案 0 :(得分:0)

来自documentation

  

ResultSet游标最初位于第一行

之前

因此,只需从代码中删除下两行,因为您尝试访问不存在的数据。

    String check = rs.getString(1);/*i tried to check if my result set has any values*/
    String check1=rs.getString(2);

也许您需要添加rs.previous()以将ResultSet移动到第一行之前的初始位置。