0

我有一个表有两列 - 名称和符号。我想要的只是获取与名称对应的符号。我使用这种方法。这有点返回什么。请检查一下。

public String getSymbol(String name) {
    String Symbol = "";
    String[] columns = new String[] { "name", "symbol" };
    Cursor c = getReadableDatabase().query(DATABASE_TABLE_NAME, columns, null,
            null, null, null, null);

    int iName = c.getColumnIndex("name");
    int iSymbol = c.getColumnIndex("symbol");

    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {

        if (c.getString(iName) == name) {
            Symbol = Symbol + c.getString(iSymbol);
        }

    }
    return Symbol;

}
4

2 回答 2

1

试试这个功能。

public String getSymbol(String name)
    {
        try
        {
          String Symbol = "";
          Cursor c = db.query(DATABASE_TABLE_NAME, columns, "name = ?" , new String[] {name}, null, null, null);
          if(c.getCount != 0)
          {
               c.moveToFirst();
               Symbol = String.valueOf(c.getString(c.getColumnIndex("symbol"))); 
               c.close();
               return Symbol;
          }

        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return null;
    }
于 2012-09-05T05:31:42.793 回答
0

比较时不要使用c.getString(iName) == name,而是使用c.getString(iName).equalsIgnoreCase(name)

于 2012-09-05T05:31:23.123 回答