SQL选择表中从特定日期到特定日期的所有值

时间:2016-10-21 14:44:54

标签: android sql sqlite android-sqlite

我不想从表中选择COLUMN_DATUM>的所有值。 int fran&& COLUMN_DATUM<直到这基本上意味着从表中选择日期>来自&&日期<至。

Under是应该执行SQL批处理的方法。

public Cursor getAllItemsByDate(int fran, int till) {
        //CODE to return everything in the table TABLE_UTGIFTER ->
        //where COLUMN_DATUM > fran && COLUMN_DATUM < till.
}

全班供参考。

public class MyDBHandler extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = "ekonomi.db";

    public static final String TABLE_UTGIFTER = "utgifter";
    public static final String COLUMN_ID = "_id";
    public static final String COLUMN_TITEL = "_titel";
    public static final String COLUMN_KATEGORI = "_kategori";
    public static final String COLUMN_PRIS = "_pris";
    public static final String COLUMN_DATUM = "_datum";

    private static final String TABLE_INKOMSTER = "inkomster";
    public static final String COLUMN_INKOMSTER_ID = "_inkomster_id";
    public static final String COLUMN_INKOMSTER_TITEL = "_inkomster_titel";
    public static final String COLUMN_INKOMSTER_KATEGORI = "_inkomster_kategori";
    public static final String COLUMN_INKOMSTER_BELOPP = "_inkomster_belopp";
    public static final String COLUMN_INKOMSTER_DATUM = "_inkomster_datum";

    private static final String CREATE_TABLE_UTGIFTER = "CREATE TABLE " + TABLE_UTGIFTER + "(" +
            COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            COLUMN_TITEL + " TEXT, " +
            COLUMN_KATEGORI + " TEXT, " +
            COLUMN_PRIS + " INTEGER, " +
            COLUMN_DATUM + " INTEGER " +
            ");";

    private static final String CREATE_TABLE_INKOMSTER =  "CREATE TABLE " + TABLE_INKOMSTER + "(" +
    COLUMN_INKOMSTER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
    COLUMN_INKOMSTER_TITEL + " TEXT, " +
    COLUMN_INKOMSTER_KATEGORI + " TEXT, " +
    COLUMN_INKOMSTER_BELOPP + " INTEGER, " +
    COLUMN_INKOMSTER_DATUM + " INTEGER" +
            ");";

    public MyDBHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, DATABASE_NAME, factory, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_TABLE_UTGIFTER);
        db.execSQL(CREATE_TABLE_INKOMSTER);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS" + TABLE_UTGIFTER);
        db.execSQL("DROP TABLE IF EXISTS" + TABLE_INKOMSTER);
        onCreate(db);
    }


    public void addUtgifter(Utgift utgift){
//        SimpleDateFormat sdf = new SimpleDateFormat(("yyyy-MM-dd"));
//        String date = sdf.format(new Date());
        SQLiteDatabase db = getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(COLUMN_TITEL, utgift.get_titel());
        values.put(COLUMN_KATEGORI, utgift.get_kategori());
        values.put(COLUMN_PRIS, utgift.get_pris());
        values.put(COLUMN_DATUM, utgift.get_datum());
        db.insert(TABLE_UTGIFTER, null, values);
        db.close();
    }

    public void addInkomster(Inkomst inkomst){
        SQLiteDatabase db = getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(COLUMN_INKOMSTER_TITEL, inkomst.get_inkomster_titel());
        values.put(COLUMN_INKOMSTER_KATEGORI, inkomst.get_inkomster_kategori());
        values.put(COLUMN_INKOMSTER_BELOPP, inkomst.get_inkomster_belopp());
        values.put(COLUMN_INKOMSTER_DATUM, inkomst.get_inkomster_datum());
        db.insert(TABLE_INKOMSTER, null, values);
        db.close();
    }

    public Cursor getAllItemsInCursor() {
        return getWritableDatabase()
                .rawQuery("SELECT * FROM " + TABLE_UTGIFTER, null);
    }

    public Cursor getAllItemsByDate(int fran, int till) {
           //CODE to return everything in the table TABLE_UTGIFTER ->
          //where COLUMN_DATUM > fran && COLUMN_DATUM < till.

    }


    public String databaseToStringTest(int databaseId) {
        String dbString = "";
        SQLiteDatabase db = getWritableDatabase();
        String query = "SELECT * FROM " + TABLE_UTGIFTER + " WHERE _id = "+ databaseId;

        Cursor c = db.rawQuery(query, null);
        c.moveToFirst();

        while (!c.isAfterLast()) {
            if (c.getString(c.getColumnIndex("_titel")) != null) {
                dbString += "Titel: ";
                dbString += c.getString(c.getColumnIndex("_titel"));
                dbString += "\n";
            }if(c.getString(c.getColumnIndex("_kategori"))!=null){
                dbString += "Kategori: ";
                dbString += c.getString(c.getColumnIndex("_kategori"));
                dbString += "\n";
            }
            if(c.getString(c.getColumnIndex("_pris"))!=null){
                dbString += "Pris: ";
                dbString += c.getString(c.getColumnIndex("_pris"));
                dbString += "kr";
                dbString += "\n";
            }
            if(c.getString(c.getColumnIndex("_datum"))!=null){
                dbString += "Datum: ";
                dbString += c.getString(c.getColumnIndex("_datum"));
                dbString += "\n";
            }
            c.moveToNext();
        }

        db.close();
        return dbString;
    }

    public String databaseToString() {
        String dbString = "";
        SQLiteDatabase db = getWritableDatabase();
        String query = "SELECT * FROM " + TABLE_UTGIFTER + " WHERE 1";

        Cursor c = db.rawQuery(query, null);
        c.moveToFirst();

        while (!c.isAfterLast()) {
            if (c.getString(c.getColumnIndex("_titel")) != null) {
                dbString += c.getString(c.getColumnIndex("_titel"));
                dbString += ", ";
//                dbString += "\n";
            }if(c.getString(c.getColumnIndex("_kategori"))!=null){
                dbString += c.getString(c.getColumnIndex("_kategori"));
                dbString += ", ";
            }
            if(c.getString(c.getColumnIndex("_pris"))!=null){
                dbString += c.getString(c.getColumnIndex("_pris"));
                dbString += ", ";
            }
            if(c.getString(c.getColumnIndex("_datum"))!=null){
                dbString += c.getString(c.getColumnIndex("_datum"));
                dbString += "\n";
            }
            c.moveToNext();
        }

        db.close();
        return dbString;
    }


    public String databaseToStringInkomst() {
        String dbString1 = "";
        SQLiteDatabase db = getWritableDatabase();
        String query = "SELECT * FROM " + TABLE_INKOMSTER + " WHERE 1";

        Cursor cInkomst = db.rawQuery(query, null);
        cInkomst.moveToFirst();

        while (!cInkomst.isAfterLast()) {
            if (cInkomst.getString(cInkomst.getColumnIndex("_inkomster_titel")) != null) {
                dbString1 += cInkomst.getString(cInkomst.getColumnIndex("_inkomster_titel"));
                dbString1 += ", ";
//                dbString += "\n";
            }if(cInkomst.getString(cInkomst.getColumnIndex("_inkomster_kategori"))!=null){
                dbString1 += cInkomst.getString(cInkomst.getColumnIndex("_inkomster_kategori"));
                dbString1 += ", ";
            }
            if(cInkomst.getString(cInkomst.getColumnIndex("_inkomster_belopp"))!=null){
                dbString1 += cInkomst.getString(cInkomst.getColumnIndex("_inkomster_belopp"));
                dbString1 += ", ";
            }
            if(cInkomst.getString(cInkomst.getColumnIndex("_inkomster_datum"))!=null){
                dbString1 += cInkomst.getString(cInkomst.getColumnIndex("_inkomster_datum"));
                dbString1 += "\n";
            }
            cInkomst.moveToNext();
        }

        db.close();
        return dbString1;
    }
}

0 个答案:

没有答案