我的应用程序中有一个数据库。我想选择特定的行。 这是我的查询字符串:
SQLiteDatabase db = this.getReadableDatabase();
String C_PRODUCT_CATEGORY_ID = category_id;
String TABLE_PRODUCT = tblProduct;
String categoryID = 1;
String select = String.format("SELECT %s FROM %s WHERE %s=%s",
C_PRODUCT_CATEGORY_ID, TABLE_PRODUCT, C_PRODUCT_CATEGORY_ID,
categoryID);
Cursor c = db.rawQuery(select,new String[]{});
光标c为空!当我使用sqlite编辑器在设备上使用.db文件并运行
时SELECT category_id FROM tblProduct WHERE category_id=1
它返回2行。 怎么了?请帮帮我!
答案 0 :(得分:2)
使用数据库的查询方法,
Cursor c = db.query(TABLE_PRODUCT, null, C_PRODUCT_CATEGORY_ID+"=?", new String[]{categoryID}, null, null, null);
希望这对你有用!!
答案 1 :(得分:0)
SQLiteDatabase db = this.getReadableDatabase();
String categoryID = 1;
String select = "SELECT category_id FROM tblProduct WHERE category_id="+categoryID;
Cursor c = db.rawQuery(select,new String[]{});
请使用此
答案 2 :(得分:0)
可能需要在'='之后加上'和';我的意思是:
String select = String.format("SELECT %s FROM %s WHERE %s='%s'",
C_PRODUCT_CATEGORY_ID, TABLE_PRODUCT, C_PRODUCT_CATEGORY_ID,
categoryID);
Cursor c = db.rawQuery(select,null);
答案 3 :(得分:-1)
试试这个
光标c = dB。 rawQuery(select,null);