如何使用简单的数据库来放置和获取当前日期

时间:2015-02-21 17:09:11

标签: android mysql database sqlite datetime

我是初学者,不知道如何使用数据库插入和获取当前日期。

对于插入数据库,我使用一个按钮来添加信息。这是完整的代码:

public void Badd_Click(View view) {
        db.execSQL("INSERT INTO Demo (event, venue, amount, textView) VALUES ('" + tEvent.getText().toString() + "'," + "'" + tLocation.getText().toString() + "'," + "'" + tAmount.getText().toString() +"' )");
        Toast.makeText(this, "Create record successfully...", Toast.LENGTH_SHORT).show();
    }

然后,为了显示插入数据库的信息,我还使用了一个按钮:

public void Btnshow_Click(View view){
    String str = "";
    Cursor c = db.rawQuery("SELECT * FROM "+DATABASE_TABLE,null);
    c.moveToFirst();
    for(int i = 0; i<c.getCount();i++){
        str+="ID: "+c.getString(0)+"\n";
        str+="Name : "+c.getString(1)+"\n";
        str+="Location : "+c.getString(2)+"\n";
        str+="Amount : "+c.getString(3)+"\n\n";
        c.moveToNext();
    }

我搜索了很多解决方案,但我无法成功完成。 请帮忙:(

1 个答案:

答案 0 :(得分:0)

您可以使用以下两种方法以您希望的格式从数据库中保存和检索日期。

public static String getDbDateString(Date date) {
    SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
    return sdf.format(date);
}

public static Date getDateFromDb(String dateText) {
    SimpleDateFormat dbDateFormat = new SimpleDateFormat("yyyyMMdd");
    try {
        return dbDateFormat.parse(dateText);
    } catch ( ParseException e ) {
        e.printStackTrace();
        return null;
    }
}

您可以使用以下代码获取当前日期:

Date date = new Date(System.currentTimeMillis());

添加到数据库:

public void addDate() {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put("key", "value");

    // Inserting Row
    db.insert(table_name, null, values);
    db.close(); // Closing database connection
}

从数据库中读取:

public Date getDate(int id) {
    SQLiteDatabase db = this.getReadableDatabase();

    Cursor cursor = db.query(table_name,
            new String[]{column_id,
                    column_date_value},
            column_id + "=?",
            new String[]{String.valueOf(id)}, null, null, null, null);
    if (cursor != null)
        cursor.moveToFirst();


    assert cursor != null;
    return new Date(cursor.getString(index_column_date));
}