我想在java中使用占位符里面的sql替换函数。 以下是代码。
import java.sql.*;
public class TestDB {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("class");
Connection con = DriverManager.getConnection("url","username","password");
PreparedStatement ps = null;
String query = "select name from image where id >= replace(?,'','','''') and id <= replace(?,'','','''') and name like ''%aa'' order by id;";
ps= con.prepareStatement(query);
ps.setString(1, "1");
ps.setString(2, "10");
ResultSet rs = null;
rs= ps.executeQuery();
while(rs.next())
{
System.out.println(rs.getString(1));
}
}
}
我正在ps= con.prepareStatement(query);
行:
线程中的异常&#34; main&#34; java.sql.SQLException:在语句中找到了非法字符。
实际上使用简单的create语句可以正常工作。但是,当我使用带有占位符的preparedstatement时,它会抛出异常。 谁能让我知道这是什么问题?