13

null値を保持するために、すべてのデータをオブジェクトとしてデータベースに保存します(たとえば、intの代わりにIntegerを使用します)。

Object が null の場合にデータを SQLite データベースに保存するときは、次を使用します。

statement.bindNull(index);

aSQLiteManager を使用してデータベースを見ると、値が正しく格納されているように見えます (null 値を持つ Long 列の空のフィールド)。

ただし、null 情報を保持したままカーソルから値を読み取る方法は?

私が使用する場合:

cursor.getLong(7)

null の代わりに null を持つ列の場合、0 を取得します。 getLong は Long ではなく long 型の値を返すため、驚くことではありません。ただし、Long を返す関数が見つかりません。何か助けはありますか?もちろん、他のオブジェクト (整数、文字列など) の null 値を保持する関数も必要です。

4

1 に答える 1

41

自分で null かどうかを確認する必要があります。

Long l = null;
if (!cursor.isNull(7))
    l = cursor.getLong(7);
于 2013-10-30T23:40:16.760 に答える