>  기사  >  데이터 베이스  >  내 preparedstatement가 \'?\' 근처에서 구문 오류를 발생시키는 이유: Java MySQL 문제

내 preparedstatement가 \'?\' 근처에서 구문 오류를 발생시키는 이유: Java MySQL 문제

Susan Sarandon
Susan Sarandon원래의
2024-11-19 17:32:03423검색

Why Does My PreparedStatement Throw a Syntax Error Near

PreparedStatement 구문 오류: '<' 예상됨

Java ReadyStatements를 사용하는 동안 "preparedStatement 구문 오류"가 발생하면 실망스러울 수 있습니다. 다음과 같은 코드에서

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?)' at line 1

    String selectSql1
        = "SELECT `value` FROM `sampling_numbers` WHERE `value` < (?)" ;
    ResultSet rs1 = con.select1(selectSql1,randNum);

오류가 발생하는 경우 이는PreparedStatement.executeQuery() 대신Statement.executeQuery(String)를 잘못 호출했기 때문입니다. . 해결 방법은 다음과 같습니다.

    this.stmt = con.prepareStatement(sql); // Prepares the Statement.
    stmt.setInt(1, randNum);               // Binds the parameter.
    // return this.stmt.executeQuery(sql); // calls Statement#executeQuery
    return this.stmt.executeQuery();       // calls your prepared PreparedStatement

이 줄을 변경하면 preparedStatement를 올바르게 실행하고 "preparedStatement 구문 오류"를 방지할 수 있습니다.

위 내용은 내 preparedstatement가 \'?\' 근처에서 구문 오류를 발생시키는 이유: Java MySQL 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.