Java 데이터베이스의 매개변수 인덱스가 범위를 벗어남 오류
Java를 사용하여 데이터베이스와 상호작용하려고 하면 "java" 오류가 발생할 수 있습니다. .sql.SQLException: 매개변수 인덱스가 범위를 벗어났습니다(1 > 매개변수 개수, 즉 0)." 이 오류는 SQL 문과 해당 매개 변수에 제공된 값이 일치하지 않음을 나타냅니다.
원인:
PreparedStatement를 사용하여 매개 변수를 설정하려고 하면 오류가 발생합니다. 개체이지만 해당 SQL 문에는 해당 매개변수에 대한 자리 표시자(?)가 포함되어 있지 않습니다. 쿼리에 해당 자리 표시자 없이 setString() 또는 기타 setter 메서드를 사용하면 이 오류가 발생합니다.
해결책:
이 오류를 해결하려면 SQL 문이 PreparedStatement 개체를 통해 설정하려는 모든 매개 변수에 대한 자리 표시자가 포함되어 있습니다. 자리 표시자는 설명문에서 물음표(?)로 표시되어야 합니다.
예:
잘못된 설명:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (val1, val2, val3)";
올바른 설명:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (?, ?, ?)";
추가 고려 사항:
추가 리소스:
위 내용은 Java 데이터베이스 코드에서 '매개변수 인덱스가 범위를 벗어났습니다' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!