我正在按照本教程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);
}
任何人都可以帮我吗?
答案 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);
}