当前位置:  开发笔记 > 编程语言 > 正文

为什么我的查询结果返回false

如何解决《为什么我的查询结果返回false》经验,为你挑选了1个好方法。

我是java和sql查询的新手,对于用户连接,我连接到数据库并检查登录是否存在.这是我做的:

requete = "SELECT Login,Password,DroitModifAnnuaire,DroitRecepteurDem,DroitResponsableDem,PiloteIso,Administrateur,DroitNews,DroitTenues,DroitEssai,Nom,Prenom  FROM Annuaire WHERE Login='"
            + (request.getParameter("login") + "'");
instruction = connexion.createStatement();
jeuResultats = instruction.executeQuery(requete);
try{            
    jeuResultats.next();
} catch (SQLException e) {
    e.printStackTrace();
}
if (jeuResultats.next() == false) {
   loadJSP("/index.jsp", request, reponse);
}else {
    loadJSP("/views/menu.jsp", request, reponse);
}

我输入的登录信息很好,但它重定向到我index.jsp,我有错误:the result set has no current row

我试图搜索这个错误的答案,但我没有找到.那为什么它会归还给我false?当我这样做时System.out.println(jeuResultats.getString(1));,打印登录.



1> dubes..:

jeuResultats.next();将结果移动到下一行.从第0行开始,即当你调用.next()它时读取第一行,然后当你再次调用它时,它会尝试读取不存在的第2行.

一些额外的提示,与问题没有直接关系:

    Java Docs是启动Java 8 ResultSet的好地方,对于ex,也许 ResultSet.first()方法可能更适合您的使用.

    由于您正在使用资源,请查看try-with-resources语法.官方教程是一个很好的起点.

    另请参阅准备好的声明vs Statement.同样,官方指南是一个很好的起点

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有