0

私はアンドロイドの初心者で、メソッドを使用して SQLite クエリを表示しています。行エントリをrow#、entryname、qty、amount (1.ferrari 2 $250,000)として表示したいのですが、代わりに(1.ferrari 2 null$250,000)と表示されます。なぜこの厄介なヌルが得られるのか理解できないので、私は頭がおかしいです。create entry または get data メソッドのいずれにおいても、明らかなことは何もありません。どんな助けでも大歓迎です。これが私のコードです。

私のエントリ作成方法:

public long createEntry(String coin, String quantity, String value) {
    // TODO Auto-generated method stub
    ContentValues cv = new ContentValues();
    cv.put(KEY_NAME, coin);
    cv.put(KEY_QUANTITY, quantity);
    cv.put(KEY_VALUE, value);
    return ourDatabase.insert(DATABASE_TABLE, null, cv);
}

私のgetdataメソッド(ビューに表示するため):

public String getData() {
    // TODO Auto-generated method stub
    String[] columns = new String[]{ KEY_ROWID, KEY_NAME, KEY_QUANTITY, KEY_VALUE };
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
    String result = "";

    int iRow = c.getColumnIndex(KEY_ROWID);
    int iName = c.getColumnIndex(KEY_NAME);
    int iQuantity = c.getColumnIndex(KEY_QUANTITY);
    int iValue = c.getColumnIndex(KEY_VALUE);

    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
        result = result + c.getString(iRow) + " " + c.getString(iName) + " " + c.getString(iQuantity) + " " + c.getString(iValue) + "\n";
    }

    return result;
}
4

1 に答える 1

0

create entry または get data メソッドのいずれにおいても、明らかなことは何もありません。

あなたの質問から、あなたが期待しているのがスペースで区切られた4つの結果である場合、次のようになります...

  1. フェラーリ 2 null$250,000

...あなたは明らかにそれを持っています。作成/取得メソッドに問題がなければ、データ ソースの「値」を疑うことから始めます。

「null」は値の前に追加されます。つまり、3 番目のスペースの後に表示されます。データ ソースのエンコーディングをよく見て、正しく処理していることを確認してください。

于 2012-08-27T02:34:03.083 に答える