1

嗨,我的表中有以下三行说 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));
   }

}

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

4

1 回答 1

4

您没有指定“order by”子句。通常,数据库不需要以任何顺序返回行,除非指定了“order by”子句。将 order by 子句添加到您的 select 语句中。

于 2013-08-07T17:32:01.473 回答