2013-10-30 7 views
11

Wszystkie dane do przechowywania w bazie danych przechowuję jako obiekty (np. Zamiast int używam Integer) w celu zachowania wartości null.Kursor Android jak uzyskać wartości null z kolumn

Podczas zapisywania danych do bazy danych SQLite, jeśli obiekt jest null używam:

statement.bindNull(index); 

Kiedy patrzę na mojej bazy danych przy użyciu aSQLiteManager wydaje się, że wartości są prawidłowo przechowywane (puste pole Long kolumny wartości null).

Jednak jak odczytać wartość z kursora zachowującego puste informacje?

Jeśli używam:

cursor.getLong(7) 

na kolumnie gdzie mam null, zamiast null uzyskać 0. Nie jest to zaskakujące, jak getLong zwraca wartość typu długi, nie długo. Jednak nie jestem w stanie znaleźć żadnej funkcji zwracającej Long. Jakaś pomoc? Oczywiście potrzebuję także uzyskać funkcje utrzymujące wartości null dla innych obiektów (Integer, String itp.).

Odpowiedz

32

Musisz sprawdzić, czy jest to wartość zerowa.

Long l = null; 
if (!cursor.isNull(7)) 
    l = cursor.getLong(7); 
+0

niesamowite. Straciłem 2 godziny na tym – Shine

Powiązane problemy