Rumah >pangkalan data >tutorial mysql >Mengapa Pernyataan Persediaan Saya Membuang Ralat Sintaks Berdekatan \'?\': Isu Java MySQL
Ralat Sintaks Penyata Disediakan: '<' Dijangka
Menghadapi "ralat sintaks preparedStatement" semasa menggunakan Java PreparedStatements boleh mengecewakan. Jika anda menghadapi ralat:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?)' at line 1
dengan kod seperti:
String selectSql1 = "SELECT `value` FROM `sampling_numbers` WHERE `value` < (?)" ; ResultSet rs1 = con.select1(selectSql1,randNum);
ia adalah kerana anda tersilap memanggil Statement.executeQuery(String) dan bukannya PreparedStatement.executeQuery() . Begini cara untuk membetulkannya:
this.stmt = con.prepareStatement(sql); // Prepares the Statement. stmt.setInt(1, randNum); // Binds the parameter. // return this.stmt.executeQuery(sql); // calls Statement#executeQuery return this.stmt.executeQuery(); // calls your prepared PreparedStatement
Dengan menukar baris ini, anda akan melaksanakan PreparedStatement dengan betul dan mengelakkan "ralat sintaks preparedStatement."
Atas ialah kandungan terperinci Mengapa Pernyataan Persediaan Saya Membuang Ralat Sintaks Berdekatan \'?\': Isu Java MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!