从Android应用程序附带的数据库中获取日期

时间:2015-12-16 06:53:40

标签: android sql database sqlite

我正在按照本教程http://mobisys.in/blog/2012/01/tutorial-using-database-in-android-applications/与我的Android应用程序建立一个外部数据库。

从数据库中获取数据时,我无法应用where子句。 这是我到目前为止所做的。

c=myDbHelper.query("level1", null, "_id=2", null, null,null, null);
    if(c.moveToFirst())
   {
       do {

        Toast.makeText(Level1.this,
                   "_id: " + c.getString(0) + "\n" +
                   "name: " + c.getString(1) + "\n" 
                   ,
                   Toast.LENGTH_LONG).show();

       } while (c.moveToNext());
   }

databaseHelper类

public Cursor query(String table,String[] columns, String selection,String[] selectionArgs,String groupBy,String having,String orderBy){
    return myDataBase.query("level1", null, "_id", null, null, null, null);


}

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:1)

在调用"_id=2"时,您将selection作为myDbHelper.query传递。但是在您的DB Helper query方法中,永远不会使用selection(其他参数也是如此)。

您可能希望将query更改为:

public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy){
    // double check parameters I did type that here (no IDE)
    return myDataBase.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
}

另见the documentation of SQLiteDatabase