格式化数据库以android方式插入

时间:2014-09-26 15:14:05

标签: android sql

我有一个数据库插入sql语句来完成它的工作。

String sql = "INSERT OR REPLACE INTO " + TABLE_USER
                + "(" + KEY_ID + ", " + KEY_EMAIL + ", " + KEY_FIRST_NAME + ", " + KEY_LAST_NAME + ", " + KEY_AVATAR + ", " + KEY_AVATAR_UID + ") "
                + "VALUES ("
                + 1 + ",'" + userInfo.getEmail() + "','" + userInfo.getName() + "','" + userInfo.getLastName() + "','" + userInfo.getAvatar() + "',"
                + "(SELECT " + KEY_AVATAR_UID + " FROM " + TABLE_USER + " WHERE " + KEY_ID + " = " + 1 + "));";


database.execSQL(sql);
database.close();

我想更新ID为1的用户的所有字段,但保留头像uid 我怎样才能写出这个清洁工?或者我该如何改进这个说法呢?

感谢。

3 个答案:

答案 0 :(得分:2)

只需删除SELECT语句即可。

INSERT OR REPLACE将首先尝试INSERT 如果失败(现有记录),它将进行更新。

答案 1 :(得分:0)

我会使用Android的原生方式!

ContentValues mValues = new ContentValues();
mValues.put(YOUR_COLUMN, YOUR_VALUE);


YOUR_SQLITEDATABASE_OBJECT.update(your_table,mValues, YOUR_QUERY, YOUR_QUERY_PARAMS);

YOUR_QUERY:ex。 "Time = ?"

YOUR_QUERY_PARAMS:ex new String[]{"9-11"}

答案 2 :(得分:0)

首先,检测您是否需要更新或插入。

比写入插入或更新请求。