从数据库sqlite获取信息

时间:2011-03-31 10:12:18

标签: android database sqlite

如何从数据库中获取信息。我想执行这一行

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

任何人都可以纠正这一行,以便从桌上人员那里获取人名

2 个答案:

答案 0 :(得分:8)

如果您的id是整数数据类型,请尝试此操作。

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

如果您的id是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 :(得分:1)

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()文档:

  

执行一个非SELECT的SQL语句或任何其他返回数据的SQL语句。