【发布时间】:2021-12-03 11:09:02
【问题描述】:
我对如何在 SQLite 数据库中插入 DateTime.now 感到困惑,我想使用并插入 DateTime,大多数示例使用 ContentValues 但我想通过使用 SQLIteStatement 插入,如下例所示,这可能吗?
声明数据库存在日期时间在最后一列
sqLiteHelper.queryData("CREATE TABLE IF NOT EXISTS CgList(Id INTEGER PRIMARY KEY AUTOINCREMENT, cash_card_actual_no VARCHAR, hh_number VARCHAR,series_number VARCHAR, cc_image BLOB , id_image BLOB, cash_card_scanned_no VARCHAR , card_scanning_status VARCHAR, date_insert DATETIME DEFAULT CURRENT_TIMESTAMP)");
我想在插入数据时添加另一列DateTime,它会自动保存日期。
public void insertScannedCashCard(String scannedCashCard,byte[] cc_image){
try {
SQLiteDatabase database = getWritableDatabase();
String sql = "INSERT INTO CgList VALUES (NULL,?,?,?,?,?,?,0)";
SQLiteStatement statement = database.compileStatement(sql);
statement.clearBindings();
statement.bindString(1, "");
statement.bindString(2, "");
statement.bindString(3, "");
statement.bindBlob(4, cc_image);
statement.bindString(5,"");
statement.bindString(6, scannedCashCard);
statement.executeInsert();
}
catch(Exception e){
Log.v(TAG,e.toString());
}
}
这是我尝试过的
public void insertScannedCashCard(String scannedCashCard,byte[] cc_image){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = sdf.format(new Date());
try {
SQLiteDatabase database = getWritableDatabase();
String sql = "INSERT INTO CgList VALUES (NULL,?,?,?,?,?,?,0,?)";
SQLiteStatement statement = database.compileStatement(sql);
statement.clearBindings();
statement.bindString(1, "");
statement.bindString(2, "");
statement.bindString(3, "");
statement.bindBlob(4, cc_image);
statement.bindString(5,"");
statement.bindString(6, scannedCashCard);
statement.bindDateeeeee(7, strDate); // don't know the syntax of date
statement.executeInsert();
}
catch(Exception e){
Log.v(TAG,e.toString());
}
}
【问题讨论】:
标签: java android sqlite datetime