【问题标题】:ResultSet make an error [duplicate]结果集出错[重复]
【发布时间】:2014-06-14 10:41:48
【问题描述】:

您好,我对这个结果集有疑问。

    public ResultSet seleccionar(String id, String pass) throws SQLException {
    PreparedStatement stmt;

     String consulta = "SELECT iduser from personas ";
         consulta+= " WHERE nombre=?";
         consulta+= " AND pass= ?";


     objetoConexion = Conexion.getInstance().getConnection();
     stmt = objetoConexion.prepareStatement(consulta);
          stmt.setString(1,id);
          stmt.setString(2,pass);

    ResultSet rs = stmt.executeQuery(consulta);

    rs.first();
     return rs;

这是我的错误

.mysql.jdbc.exceptions.MySQLSyntaxErrorException:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '? 附近使用的正确语法。并且通过=?在第 1 行

【问题讨论】:

    标签: mysql netbeans jdbc


    【解决方案1】:

    您需要检查您的字符串咨询上的空格。

    您是否考虑过使用StringBuffer 并将您的 SQL 语句记录到控制台以便查看查询的样子?

    【讨论】:

      【解决方案2】:

      你必须在 AND 之前放置一个空格。

      String consulta = "SELECT iduser from personas ";
               consulta+= " WHERE nombre='?";
               consulta+= "' AND pass='?'";
      

      【讨论】:

      • 我有同样的错误 com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax;检查与您的 MySQL 服务器版本相对应的手册,以了解在 '? 附近使用的正确语法。 AND pass= ?'
      • 立即尝试,可能是由于引号导致的错误,因为字符串/varchar 在 SELECT 查询中需要引号
      猜你喜欢
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多