android - 如何使用简单的数据库输入和获取当前日期

标签 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();
    }

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

最佳答案

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

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));
}

关于android - 如何使用简单的数据库输入和获取当前日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28648593/

相关文章:

MySQL 选择响应大小 .NET

java - 哪个 ojdbc 版本支持带有 tomcat 6 的 oracle 12.1?

Android 应用唯一许可 key

android - 是否可以使用 XML 文件中的动画将图像居中?

mysql - 根据最后一行过滤数据 mysql

html - 连接到服务器,没有获取任何可视表

mysql - 工作 perl ascript 现在说 .DBD::mysql::db do failed: 你的 SQL 语法有错误;

Android Sqlite 存储限制

android - HoloEverywhere,带有 Gradle 的 ActionBarSherlock 给出 'Attribute xxx has already been defined'

python - Tornado :get_argument——我应该自己转义输入吗?