如何正确显示SQLite查询结果

时间:2012-08-27 02:13:56

标签: android database string sqlite

我是Android的菜鸟,我正在使用一种方法来显示SQLite查询。我希望行条目显示为行#,entryname,qty,amount(1. ferrari 2 $ 250,000),但它显示为(1. ferrari 2 null $ 250,000)。我在我的智慧结束,因为我无法弄清楚为什么我得到这个讨厌的null。在我的创建条目或获取数据方法中,没有任何明显的东西突然出现。任何帮助是极大的赞赏。这是我的代码。

我的创建输入法:

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;
}

1 个答案:

答案 0 :(得分:0)

  

在我的创建条目或获取数据方法中,没有任何明显的东西突然出现。

从你的问题来看,如果您期望的是4个结果用空格分隔,那么在下面......

  
      
  1. ferrari 2 null $ 250,000
  2.   

......你显然确实如此。如果你的创建/获取方法没问题,那么我首先要怀疑你的数据源是否有“价值”。

'null'预先设置为值,换句话说,它出现在第三个空格之后。仔细查看数据源的编码并确保正确处理它。