집 >데이터 베이스 >MySQL 튜토리얼 >SQL 문이 Workbench에서 작동하는데도 JDBC 코드에서 MySQLSyntaxError 예외가 발생하는 이유는 무엇입니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!