[英]Java Sql Select from Column where Month
我在SQL數據庫中將Day,Month和Year存儲為整數。 我檢查了一下,以便通過將它們打印到文本字段來以正確的編號存儲它們。
我有這種方法,我想獲取所有保存的月份數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;
}
您可以嘗試從rawQuery調用中刪除參數之一:
Cursor c = db.rawQuery("SELECT * FROM TABLE_PRODUCTS WHERE MONTH = "
+ month, null);
看一下文檔: http : //developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#rawQuery(java.lang.String,java.lang.String [])
我帶走了其中一個參數並稍微更改了查詢代碼,現在它可以與這一行代碼一起使用
Cursor c = db.rawQuery("Select * FROM " + TABLE_PRODUCTS + " WHERE "
+ COLUMN_PRODUCTNAME + " = \"" + month + "\"", null);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.