Android:在android数据库中选择查询

时间:2011-11-11 11:25:57

标签: android sqlite

我需要获取与键列对应的children列的值,如图中所示。在android sqlite中它的select语句是什么。

由于

enter image description here

我正在使用以下代码:

 public Cursor fetchChildren(String KEY_){
            Cursor c = db.rawQuery("SELECT children FROM " + DATABASE_TABLE_NAVIGATION
                    + " WHERE key =" + KEY_+ "", null);
                       return c;

但它给了我例外:

android.database.sqlite.SQLiteException: no such column: home: , while compiling: SELECT children FROM navigation WHERE key =home

           }

2 个答案:

答案 0 :(得分:6)

安德烈说,你需要在钥匙周围引用。

但最好还是将密钥单独作为参数传递给查询,而不是直接将其包含在查询中。这允许SQLite为您可能传入的每个不同的键重用相同的缓存查询,从而提高效率。

public Cursor fetchChildren(String KEY_){
    Cursor c = db.rawQuery("SELECT children FROM " + DATABASE_TABLE_NAVIGATION
                           + " WHERE key = ?", new String[] {KEY_});
    return c;
}

答案 1 :(得分:3)

我怀疑你错过了引语

    
SELECT children FROM navigation WHERE key='home'