我在我的SQL数据库中将日,月和年存储为整数。我检查了一下,通过将它们打印到文本字段来存储正确的数字。
我有这种方法,我希望得到月号x保存的所有数据 但它崩溃了。有人能指出我如何检索保存到月号x的所有数据的正确方向。
这是我得到的
@SuppressLint("NewApi")
public Cursor getMonth(int month) {
SQLiteDatabase db = this.getWritableDatabase();
Cursor c = db.rawQuery("SELECT * FROM TABLE_PRODUCTS WHERE MONTH = "
+ month, null, null);
if (c != null) {
c.moveToFirst();
}
db.close();
return c;
}
这是错误代码
10-09 19:01:27.942: E/AndroidRuntime(610): FATAL EXCEPTION: main
10-09 19:01:27.942: E/AndroidRuntime(610): java.lang.NoSuchMethodError:
10-09 19:01:27.942: E/AndroidRuntime(610): at
android.database.sqlite.SQLiteDatabase.rawQuery
com.waffles.vatsandbats.MyDBHandler.getMonth(MyDBHandler.java:85)
我有这个代码可以获取所有行并且工作正常
public Cursor getAllRows() {
SQLiteDatabase db = this.getWritableDatabase();
String where = null;
Cursor c = db.rawQuery("SELECT * FROM " + TABLE_PRODUCTS, null);
if (c != null) {
c.moveToFirst();
}
db.close();
return c;
}
答案 0 :(得分:3)
您可以尝试从rawQuery调用中删除其中一个参数:
Cursor c = db.rawQuery("SELECT * FROM TABLE_PRODUCTS WHERE MONTH = "
+ month, null);