簡體   English   中英

Java Sql從月份所在的列中選擇

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM