Rumah > Java > javaTutorial > Mengapa Java PreparedStatement Saya Membuang 'Indeks parameter di luar julat'?

Mengapa Java PreparedStatement Saya Membuang 'Indeks parameter di luar julat'?

Mary-Kate Olsen
Lepaskan: 2024-12-25 21:31:09
asal
799 orang telah melayarinya

Why Does My Java PreparedStatement Throw

Ralat: "java.sql.SQLException: Indeks parameter di luar julat (1 > bilangan parameter, iaitu 0)"

Isu

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)".

Punca

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
Salin selepas log masuk

Penyelesaian

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);
Salin selepas log masuk

Perhatikan bahawa indeks parameter bermula dari 1 dan terdapat tidak perlu memetik ruang letak dalam rentetan SQL. Melakukannya akan mengakibatkan ralat yang sama.

Sumber Tambahan

  • [Tutorial JDBC - Penyata Disediakan](https://docs.oracle.com/javase/tutorial/jdbc/ asas/disediakan.html)

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan