小编da *_*ich的帖子

java.sql.Statement或java.sql.PreparedStatement - 带参数的可滚动结果集

在我的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)

java sql resultset

3
推荐指数
1
解决办法
7815
查看次数

标签 统计

java ×1

resultset ×1

sql ×1