1

我正在尝试将 sqlite 表的元素检索到黑莓中的网格上。这是我的代码:

  Statement statement56 = db.createStatement("SELECT date,bill,rec,narration,id FROM Temp4");
  statement56.prepare();
  statement56.execute();

  Cursor c = statement56.getCursor();

  for (int i = 1; i < grid.getRowCount(); i++)
  {
      System.out.println("Inside first for loops");
      for (int j = 0; j < grid.getColumnCount() ; j++)
      {
          System.out.println("Inside second for loops");

          while(c.next()) 
          {

              System.out.println("Inside while"); 
              Row r;
              r = c.getRow();



              for (int k = 4; k >=0; k--)
              {
                  System.out.println("Inside for loops");
                  if(k==0 || k==3)
                  {
                      System.out.println("Retrieving date or narration");
                      grid.insert(new LabelField(r.getString(k)),i,j);
                  }  
                  else
                  {
                      System.out.println("Retrieving other values"); 
                      //  String p = r.getString(k)
                      String p = "" + r.getInteger(k);
                      grid.insert(new LabelField(p),i,j);
                  }                           
              } 

              // c.previous();
              //c--;
              System.out.println("Exiting while");                        
          }

          System.out.println("Exiting sec for");
          break;
      }
      System.out.println("Exiting first for");

      break;
   }

   statement56.close(); 
   db.close();

这以自下而上的方式为我提供了我的 sqlite 表的值。我希望它与插入到 sqlite 表中的方式完全相同。

即如果我的表包含

a b c d e
f g h i j
k l m n o
p q r s t
u v w x y

我在黑莓的网格布局中得到的输出是

u v w x y
p q r s t
k l m n o
f g h i j 
a b c d e

任何了解此解决方案的人。期待合理的帮助。谢谢。

4

2 回答 2

3

只需添加ORDER BY您的 SQL 查询:

SELECT date,bill,rec,narration,id FROM Temp4 ORDER BY id DESC

您可以使用另一个排序字段来代替id它是否更合适。

如果没有要排序的字段,可以使用伪字段ROWID。此字段可用作任何 SQLite 表中的自动增量字段:

SELECT date,bill,rec,narration,id FROM Temp4 ORDER BY ROWID DESC
于 2012-05-05T18:55:31.547 回答
0

如果您有如下行:

Id Name
1  Row1
2  Row2
3  Row3

使用 ORDER BY CLAUSE 可以为您提供如下结果:

Id Name
3  Row3
2  Row2
1  Row1

在您的情况下,您可以使用以下查询:

SELECT date,bill,rec,narration,id FROM Temp4 ORDER BY id DESC
于 2012-05-05T18:55:01.867 回答