как получить идентификатор заданного текста строки в Android из базы данных - PullRequest
0 голосов
/ 28 марта 2012

Привет друзья! Я новичок в android.well Я создал таблицу базы данных, в которой у меня есть несколько строк следующим образом

имя города

1 maddy0 xyz0

2 maddy1 xyz1

3 maddy2 xyz2

Теперь я хочу передать город функции и получить идентификатор строки этого города

скажи, что я прошёл xyz0, тогда это должно дать мне значение 1 для этого я попробовал это

public String getDatatonumber(String s) {
    Cursor c = null;
    String result = new String();
    // TODO Auto-generated method stub
    // String[] columns = new String[]{ KEY_ROWID, KEY_NAME, KEY_SCORE};
    try {
        c = ourDatabase.rawQuery(
                "select _id from quotes_internal where text ='"+s+"';", null);
        // Cursor c = ourDatabase.query(DATABASE_TABLE_LOGICAL, columns,
        // null, null, null, null, null);

        int iName = c.getColumnIndex(KEY_ROWID);

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

            result=(" " + c.getInt(iName));
        }
    } catch (Exception e) {
        // TODO: handle exception
    } finally {
        c.close();
    }
    return result;
}

Я поместил этот код в вспомогательный класс базы данных, и из основного действия я называю его

results =new String();
results=db.getDatatonumber(texts).trim();
text.settext(results);

Я не могу понять, где я иду не так, я передаю те же значения, которые есть в базе данных.

Ответы [ 2 ]

0 голосов
/ 28 марта 2012
c = ourDatabase.rawQuery(
            "select _id from quotes_internal where city='"+s+"';", null);



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

        result=(" " + c.getColumnIndex("_id"));
    }

это вернет ваш идентификатор строки

0 голосов
/ 28 марта 2012

Вам необходимо использовать LIKE Operator при сравнении с текстом

c = ourDatabase.rawQuery("select _id from quotes_internal where text LIKE '" + s.trim() + "';", null );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...