Java SQL Resultset检索顺序不正确

时间:2013-08-07 17:30:16

标签: java jdbc

嗨我的表中有以下三行说tb1

key   time   id   rowid
X     11:40  1      1
Y     4:50   1      2
Z     6:48   1      2 

现在我使用JDBC来获取记录并迭代结果集,如下所示:

rs = statement.executeQuery("select * from tb1")
ResultSetMetaData md = rs.getMetaData();
int cols = md.getColumnCount();
while(rs.next())
{
   for(int i = 1; i <= cols ; i++)
   {
     System.out.println("col name " + md.getColumnName(i));
     System.out.println("col name " + rs.getObject(i));
   }

}

当我奇怪地执行上面的代码时,它总是首先打印第二行,然后是第一行,然后是第三行。简而言之,结果集数据检索不是有序的。我不明白为什么?请指导。提前谢谢。

1 个答案:

答案 0 :(得分:4)

您尚未指定“order by”子句。通常,除非指定了“order by”子句,否则不要求数据库以任何顺序返回行。在order语句中添加order by子句。