如何在 SQLite 中插入日期?

Pra*_*nge 0 sqlite android android-sqlite

我有这个错误:

无法解析方法“put(java.lang.String, java.util.Date)”

在下面的代码中: 在此输入图像描述

lsdnsd是数据类型为 DATE 的列名。

public void onCreate(SQLiteDatabase db)
{
    String query="CREATE TABLE"+c_tablename+"(c_id int AUTO_INCREMENT primary key,name varchar(20),contact double ,address varchar(50)," +
            "bike_number varchar(16),bike_type varchar(10),lsd date,nsd date,lwd varchar(100),cost int,message varchar(100))";
    db.execSQL(query);

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
    String query= "DROP TABLE IF EXIST "+c_tablename;
    String query2="DROP TABLE IF EXIST "+h_tablename;
    db.execSQL(query);
    db.execSQL(query2);

    onCreate(db);
}

public void  saveData(String name , int contact , String address , String bike_number , String bike_type , java.util.Date lsd  ,
                      java.util.Date nsd , String lwd , int cost , String message )
{
    ContentValues contentValues=new ContentValues();
    contentValues.put("name",name);
    contentValues.put("contact",contact);
    contentValues.put("address",address);
    contentValues.put("bike_number",bike_number);
    contentValues.put("bike_type",bike_type);
    contentValues.put("lsd",lsd);
    // The error is in the following line ("Cannot resolve method 'put(java.lang.String, java.util.Date)'"):
    contentValues.put("nsd",nsd);
    contentValues.put("lwd",lwd);
    contentValues.put("cost",cost);
    contentValues.put("message",message);
}
Run Code Online (Sandbox Code Playgroud)

Aks*_*nde 5

你好,你能尝试这样的事情吗?

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
ContentValues contentValues=new ContentValues();
contentValues.put("lsd", dateFormat.format(lsd));
Run Code Online (Sandbox Code Playgroud)