在我的java应用程序中,它似乎在我的查询中使用参数到数据库,我需要利用PreparedStatement.但是同时,我想在前进/后退模式(可滚动)中使用语句的结果集,PreparedStatement似乎没有提供设置可滚动模式,Statement似乎没有提供参数.
看起来像一个基本问题..但没有什么东西跳出来(除了使用Statement和构造没有参数的SQL).真的没有办法为Statement提供参数.或者有一个可滚动的预备语句吗?我错过了什么吗?
conn = Utility.getConnection();
tmpSQL = "SELECT * FROM " + baseTable + " WHERE " + filterCriteria
+ " ORDER BY " + sortCriteria;
//method 1
Statement stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rset = stmt.executeQuery(tmpSQL); //not using any parameters!
//method 2
PreparedStatement pStatement = conn.prepareStatement(tmpSQL); //not scrollable!
if (params != null)
for (int i = 0; i < params.size(); i++) {
pStatement.setString(i + 1,
((Parameter) params.get(i)).getStringValue());
}
rset = pStatement.executeQuery();
Run Code Online (Sandbox Code Playgroud)