0

AndroidでSQLデータベースからアイテムを取得しようとしましたが、すべてうまくいきました。唯一苦労しているのは、DBに何も入力されていないINTEGER値を取得することです(null?)

したがって、最初に初期化してから、DB から整数値を取得し、それをクラスのインスタンスに割り当てます。DBから何も取得しない場合、初期化された値を保持すると言われましたが、これは間違っているのでしょうか? 私は今使っています:

int score = 100;
score = c.getInt(11);
q.setScore(score);
4

2 に答える 2

1

DBから何も得られない場合は、初期化された値を保持すると言われたことがあります

これはEmbeddedSQLにも当てはまります。結果セットオブジェクトを使用しているように見えるので、それは正しくありません。列から数値のnull値を取得しようとすると、通常、結果セットオブジェクトは0を返します。

c.wasNull()読んだばかりの値がそうではnullなかったかどうかを確認するために使用します0

編集(ジャックのコメントからコードを追加):

int score; 
if (c.isNull(11)) { 
  score = 100; 
} else { 
  score = c.getInt(11); 
} 
q.setScore(score);
于 2012-10-08T12:27:10.027 に答える
0

http://developer.android.com/reference/android/database/Cursor.html#getInt(int

* public abstract int getInt(int columnIndex)以降:APIレベル1要求された列の値をintとして返します。結果と、列の値がnullの場合、列の型が整数型ではない場合、または整数値が[Integer.MIN_VALUE、Integer.MAX_VALUE]の範囲外の場合に、このメソッドが例外をスローするかどうかは、実装によって定義されます。パラメータcolumnIndexターゲット列のゼロベースのインデックス。その列の値をintとして返します。*

于 2012-10-08T12:30:34.263 に答える