-3
    tv=(TextView)findViewById(R.id.textView1);
    SQLiteDatabase sqLiteDatabase = SQLiteDatabase.openOrCreateDatabase("/sdcard/assets.db", null);
    Cursor c=sqLiteDatabase.rawQuery("select datetime('now')", null);       
    if(c.moveToFirst()){
            tv.setText(c.getString(0));
    }
    tv.setText("1234");
    c.close();
    sqLiteDatabase.close();

我编写了这段代码来操作SQLite数据库以获取当前日期并在 textView 中显示日期。当我运行代码时,它没有显示错误,但最终结果显示 sql 状态select datetime('now')没有返回当前日期。textView 显示“1234”但不显示日期。

请告诉我代码有什么问题,或者这种方法是否是错误的方法。ps我知道如何使用java日历获取日期,这个问题只询问我是否可以通过查询SQLite数据库直接获取日期。

感谢帮助。

4

4 回答 4

0

将您的代码更改为:

if(c.getCount() >0)

  c.moveToFirst();

  tv.setText(c.getString(0));

 }
 else{
     tv.setText("1234"); 
  }
    c.close();
    sqLiteDatabase.close();

把 last tv.setText放在 else 里面。

于 2012-12-29T14:09:59.597 回答
0

为了处理日期,请尝试以下方法

SQLite 表中归档的日期将为 TEXT,日期数据应存储为“2012-12-31 00:12:00”格式,比较不会给您带来麻烦,如果我们认为字段是 date_from 和 date_to 并且我们正在存储当前日期在 to_date 那么我们应该得到当前日期如下和

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String to_date = sdf.format(new Date());

并且 SQL 查询应该是

crs = db.rawQuery(
  "SELECT _id, date_from, date_to, done_or_not, list_name " +
  "FROM list_tbl " +
  "WHERE " +
  "date_from <= Datetime('"+to_date+"') AND date_to >= Datetime('"+to_date+"')", null);
于 2012-12-31T17:32:50.970 回答
0

是笑话吗?在textview中设置日期后,在textview中重写1234,看不到日期是正常的。

于 2012-12-29T14:18:14.470 回答
0

if 之后没有 else 表达式,这是你的问题。

尝试这个:

    tv=(TextView)findViewById(R.id.textView1);
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = null;
    try{ 
        cursor = db.rawQuery(selectQuery, null);

        // looping through all rows and adding to list or get object
        if (cursor.moveToFirst()) {
            do {
                tv.setText(c.getString(0));
            } while (cursor.moveToNext());
        }
        else{
                tv.setText("1234");
        }
    }
    catch (Exception e) {

    }
    finally{
        if(cursor != null)
            cursor.close();
        if(!db.equals(null) || db != null)
            db.close();
    }
于 2012-12-29T14:37:02.793 回答