2012-05-05 1 views
1

Я пытаюсь извлечь элементы таблицы sqlite на сетку в ежевике. Это мой код:Как получить значения таблицы базы данных 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 таблицы в нижней части до manner.I хочет точно таким же образом, как она была вставлена ​​в 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 

Кто-нибудь известно о решении для this.Anticipating разумные help.Thanks.

ответ

0

Если у вас есть строки, как:

Id Name 
1 Row1 
2 Row2 
3 Row3 

Использование предложения ORDER BY может дать вам результаты, как:

Id Name 
3 Row3 
2 Row2 
1 Row1 

В вашем случае вы можете использовать ниже запроса:

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

Спасибо за replying.But моего стола temp4 содержит данные, которые были вставлены в случайном manner.Also столбец идентификатора не является уникальным в моем случае, как это был вставлен из другой таблицы. Поэтому мне сложно определить один конкретный столбец, который будет использоваться как ORDER BY. Есть ли другой способ получить значения, которые были вставлены в случайном порядке для случайной выборки? –

+0

У вас может быть столбец типа DateCreated, и вы можете использовать этот столбец в ORDER BY CLAUSE. –

+0

Проверьте изменения. –

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 
+0

Спасибо за ответ. Но моя таблица temp4 содержит данные, которые были вставлены случайным образом. Также столбец id не является уникальным в моем случае, поскольку он был вставлен из другой таблицы. Поэтому мне трудно определить один конкретный столбец для используется как ORDER BY.Is есть какой-либо другой способ получить значения, которые были вставлены в случайном порядке для случайной выборки? –

+0

Вы должны создать другое поле (назовем его 'number'), сделаем его' AUTO INCREMENT PRIMARY KEY' и используем его для сортировки. Поле автоматической инкреции всегда полезно, в любом случае будет лучше иметь его. –

+0

Да, я использовал автоинкремент в других моих таблицах. Но это временная таблица, в которой я не использовал ее. Каждый из способов обеспечивает нумерацию столбцов. –

 Смежные вопросы

  • Нет связанных вопросов^_^