Inserting Row into Sqlite DB(Android)(在Sqlite DB中插入行(Android))
问题描述
我有表"日志":
private static final String DATABASE_CREATE =
"create table if not exists logs (_id integer primary key autoincrement, "+ "date datetime, city text, " + "type text, log text, nick text);";
和插入日志的方法:
public long insertLog(String city, int type, String log, String nick) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_DATE, dateFormat.format(date));
initialValues.put(KEY_CITY, city);
initialValues.put(KEY_TYPE, type);
initialValues.put(KEY_LOG, log);
initialValues.put(KEY_NICK, nick);
return db.insert(DATABASE_TABLE, null, initialValues);
}
每次我尝试插入日志时,都没有收到异常。方法在每次"1"时返回。但当我用SQLITEVIEWER查看我的表时,我发现它是空的。出现此问题的原因可能是什么?
推荐答案
这样创建表
private static final String DATABASE_CREATE =
"create table if not exists logs (_id integer primary key autoincrement,date text, city text, type text, log text, nick text);";
&;像这样插入
public long insertLog(String city, int type, String log, String nick) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
ContentValues initialValues = new ContentValues();
// convert date to string
String dateString = dateFormat.format(date);
initialValues.put(KEY_DATE,dateString);
initialValues.put(KEY_CITY, city);
initialValues.put(KEY_TYPE, type);
initialValues.put(KEY_LOG, log);
initialValues.put(KEY_NICK, nick);
return db.insert(DATABASE_TABLE, null, initialValues);
}
编辑:
调用此方法
db.open();
db.insertLog(....);
db.close();
这篇关于在Sqlite DB中插入行(Android)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!