【发布时间】:2013-10-02 12:24:49
【问题描述】:
终于缩小了问题的范围,这就是我的问题,当我执行一个带有“order by”的 SQL 并尝试在 Java 中打印结果集时,结果集没有排序。 但是当我与我的 SQL 开发人员单独执行 SQL 时,我看到了有序的结果,这是为什么?有没有办法解决这个问题?
下面提到的是我正在使用的方法
List getDBValues(short orderBy) throws Exception {
Connection conn = null;
ResultSet rs = null;
List results = nmull;
String sqlStmt = new String();
PreparedStatement ps = null;
try {
conn = Utilities.getConnection(DB);
sqlStmt ="SELECT
COLUMN1,
COLUMN2,
COLUMN3,
FROM SAMPLE_TABLE
WHERE
COLUMN1 IN ('10','15') AND
COLUMN3 IN ('1','2') ORDER BY ? ";
try {
short orderByObj = 0;
if(orderBy < 1){
orderByObj = Short.parseShort(Math.abs(orderBy)+"");
sqlStmt += "DESC";
}else{
orderByObj = orderBy;
}
System.out.println("==================== SQL ==================== \n"+sqlStmt);
ps = conn.prepareStatement(sqlStmt);
ps.setLong(1, orderByObj);
rs = ps.executeQuery();
while (rs.next())
System.out.println(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3));
}
catch(SQLException e) {
e.printStackTrace();
}
}
catch (Exception e) {
e.printStackTrace()
}
return results;
}
【问题讨论】:
-
你将它存储在什么样的集合中?
-
@SotiriosDelimanolis,它是一个自定义对象的集合。
-
你的意思是
Collection?那是一个接口,我们关心的是实际的实现…… -
发布您正在处理的代码会很有用。
-
您将不得不显示更多代码。并且不要在评论中发布它,编辑您的原始问题。
标签: java sql jsp sorting collections