получить информацию из базы данных sqlite - PullRequest
3 голосов
/ 31 марта 2011

как получить информацию из базы данных. Я хочу выполнить эту строку

String nom = db.execSQL("select name from person where id='+id+'");

Может ли кто-нибудь исправить эту строку, чтобы получить имя человека из таблицы person

Ответы [ 2 ]

8 голосов
/ 31 марта 2011

Пожалуйста, попробуйте это, если ваш идентификатор является целочисленным типом данных.

public String getResult(int id)
{
    String name = null;
    try
    {
        Cursor c = null;
        c = db.rawQuery("select name from person where id="+id, null);
        c.moveToFirst();
        name = c.getString(c.getColumnIndex("name"));
        c.close();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    return name; 
}

Перестаньте, попробуйте это, если ваш идентификатор является типом данных String.

 public String getResult(String id)
{
    String name = null;
    try
    {
        Cursor c = null;
        c = db.rawQuery("select name from person where id=" + "\""+id+"\"", null);
        c.moveToFirst();
        name = c.getString(c.getColumnIndex("name"));
        c.close();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    return name; 
}
1 голос
/ 31 марта 2011
Cursor cursor = db.rawQuery("SELECT name FROM person WHERE id = ?", new String[] { id });
cursor.moveToFirst();
String nom = cursor.getString(cursor.getColumnIndex("name"));

это должен быть самый простой способ (не проверенный, но вы должны понять).

Похоже, вы даже не представляете, как Android обрабатывает доступ к базе данных, поэтому я рекомендую взглянуть хотя бы на класс Cursor .

execSQL() документация:

Выполнить одну инструкцию SQL, которая НЕ является SELECT, или любую другую инструкцию SQL, которая возвращает данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...