2012-02-23 12 views
17

Próbuję uzyskać wartość kolumny od kursora, kolumna jest generowana w czasie wykonywania przez obliczenia wewnątrz kwerendy, otrzymuję wartość pustą tej kolumny, jestem w stanie uzyskać wartość wszystkich innych kolumn, które istnieje w Tabela SQLite.Jak uzyskać wartość kolumny z kursora sqlite?

Wykonuję to samo zapytanie w edytorze SQLite, pokazuje również wartość wygenerowanej kolumny w zestawie wyników.

Dlaczego ta wartość jest pusta, gdy odbieram ją z kursora?

+2

Proszę podać kod, który służy do wyszukiwania i pobierania wartości kolumny. –

+0

@Chandrapal Yadav: czy jesteś pewien, że dodajesz tę kolumnę, kiedy wystrzeliwujesz zapytanie? bądź pewien, że tego nie przeoczysz! – Hiral

+0

spróbować spojrzeć na ten link .. stosując metodę zapytania .. http://stackoverflow.com/questions/10600670/sqlitedatabase-query-method – Michimcchicken

Odpowiedz

56

Bardzo prosty można go pobrać za pomocą jednej z następujących sposobów

String id = cursor.getString(cursor.getColumnIndex("id")); // id is column name in db 

lub

String id = cursor.getString(cursor.getColumnIndex(0)); // id is first column in db 
+1

Co to jest kursor w tym przykładzie? –

3

nazw kolumn Kursor jest wielkość liter, upewnij się, że pasuje do przypadku określonym w db lub kolumn pseudonimu nazwa

2
  1. Jeśli nie znasz indeksu kolumny w zapytaniu do wyboru, wykonaj następujące czynności:

    Definiowanie stała dla wszystkich pól tabeli tak łatwo jest dostać pole nazwy nie trzeba by zweryfikować jego urokiem

    tworzyć bazy danych klasy Costant o nazwie „DBConstant.java” i zdefiniować pól tabeli

    public static final String ID = "id";

    Następnie uzyskać wartość z kursorem,

    cursor.getString (cursor.getColumnIndex (DBConstant.ID));

    cursor.getColumnIndex (nazwa pola); zwraca indeks kolumny pola w instrukcji select cursor.getString (indeks kolumny). zwraca wartość, która jest na tej kolumnie

  2. Jeśli znasz indeks kolumna w kwerendy wybierającej,

    cursor.getString (0);

Powiązane problemy