我有一个包含两列的表 - 名称和符号。我想要的是得到与名称对应的符号。我用这种方法。它没有任何回报。请检查一下。
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;
}
答案 0 :(得分: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;
}
答案 1 :(得分:0)
在比较时,不要使用 c.getString(iName)== name ,而是使用 c.getString(iName).equalsIgnoreCase(name)