1

我有表“日志”:

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 查看我的桌子时,我发现它是空的。这个问题可能是什么原因?

4

2 回答 2

2

像这样创建表

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();
于 2013-02-21T15:46:56.020 回答
0

完整的例子 在这里

DataBaseHelper中定义基本配置后,使用db对象使用以下方法插入行

// method to insert a record in Table
public static String insertEntry(String user_name, String user_phone, String user_email)
{

    try {


        ContentValues newValues = new ContentValues();
        // Assign values for each column.
        newValues.put("user_name", user_name);
        newValues.put("user_phone", user_phone);
        newValues.put("user_email", user_email);

        // Insert the row into your table
        db = dbHelper.getWritableDatabase();
        long result=db.insert(TABLE_NAME, null, newValues);
        toast("User Info Saved! Total Row Count is "+getRowCount());
        db.close();

    }catch(Exception ex) {
    }
    return "ok";
}
于 2018-06-05T12:10:47.790 回答