Anda menghadapi ralat semasa cuba memasukkan data ke dalam pangkalan data, disertai dengan mesej "java.sql.SQLException: Indeks parameter di luar julat (1 > bilangan parameter, iaitu 0)".
Ralat ini berlaku apabila anda memanggil kaedah setXxx() pada a PreparedStatement tanpa menyatakan ruang letak (?) dalam pertanyaan SQL. Contohnya:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (val1, val2, val3)"; PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, val1); // Error occurs here
Untuk menyelesaikan isu ini, sertakan ruang letak dalam pertanyaan SQL:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (?, ?, ?)"; PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, val1);
Perhatikan bahawa indeks parameter bermula dari 1 dan terdapat tidak perlu memetik ruang letak dalam rentetan SQL. Melakukannya akan mengakibatkan ralat yang sama.
Atas ialah kandungan terperinci Mengapa Java PreparedStatement Saya Membuang 'Indeks parameter di luar julat'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!