JDBC에서 유효한 구문과 함께 MySQLSyntaxError 예외가 발생함
MySQL 데이터베이스와 통신하는 JDBC 애플리케이션을 탐색하는 동안 개발자는 두려운 MySQLSyntaxError 예외를 우연히 발견할 수 있습니다. . 흥미롭게도 동일한 INSERT 문이 MySQL Workbench 내에서 원활하게 실행되어 당황스럽습니다.
범인은 Java 코드 내에서 간과된 세부 사항에 있습니다.
<code class="java">sInserim.executeUpdate(sqlCommandInserim);</code>
여기서 개발자는 실수로 자리 표시자(?)가 포함된 원시 SQL 문자열을 실행합니다. 그러나 ReadyStatement의 경우 매개변수 없이 문 자체만 실행해야 합니다.
이를 수정하려면 위 줄을 다음으로 바꾸세요.
<code class="java">sInserim.executeUpdate();</code>
매개변수는 설정된 값으로 준비된 상태가 실행되도록 보장합니다. ExecutionUpdate(sqlString) 메소드는Statement 객체에만 사용해야 합니다.
참고로 finally 블록에서 preparedStatement를 닫아 적절한 리소스 관리를 수용하는 것이 중요합니다. 이렇게 하면 예외 발생 시 리소스 누출을 방지할 수 있으며 이는 Connection, State 및 ResultSet 개체로 확장됩니다.
위 내용은 SQL 문이 Workbench에서 작동하는데도 JDBC 코드에서 MySQLSyntaxError 예외가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!