我的 SQLite Update 语句不断将 0 插入第一个字段,然后插入正确的值
My SQLite Update statement keeps inserting 0 into the first field and the correct values after that
我遇到了一个非常烦人的错误,它一直在第一列中输入 0
,然后在后面输入其余值。
这是我的代码:
System.out.println(forename);
String statement = "UPDATE " + USER_TABLE + " SET " + FORENAME + " = " + "'" + forename + "'"
+ " AND " + SURNAME + " = " + "'" + surname + "'" + " AND " + EMAIL + " = " + "'" + email + "'"
+ "WHERE " + USER_ID + " = " + userID;
sqLiteDatabase.execSQL(statement);
所以如果名字是 Luke
它会打印 Luke
但是在 运行 这个查询之后 table 看起来像这样:
UserID | Forename | Surname | Email
____________________________________________
1 0 Smith luke@s.com
如您所见,Luke
未放入 Forename
字段,尽管我可以清楚地看到值 Luke
打印在 LogCat
应使用 ContentValues
完成此任务:
例如:
SQLiteDatabase database = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(FORENAME, forename);
values.put(SURNAME, surname);
values.put(EMAIL, email);
database.update(USER_TABLE, values, USER_ID + "=?", new String[] {userID});
database.close();
return true;
我遇到了一个非常烦人的错误,它一直在第一列中输入 0
,然后在后面输入其余值。
这是我的代码:
System.out.println(forename);
String statement = "UPDATE " + USER_TABLE + " SET " + FORENAME + " = " + "'" + forename + "'"
+ " AND " + SURNAME + " = " + "'" + surname + "'" + " AND " + EMAIL + " = " + "'" + email + "'"
+ "WHERE " + USER_ID + " = " + userID;
sqLiteDatabase.execSQL(statement);
所以如果名字是 Luke
它会打印 Luke
但是在 运行 这个查询之后 table 看起来像这样:
UserID | Forename | Surname | Email
____________________________________________
1 0 Smith luke@s.com
如您所见,Luke
未放入 Forename
字段,尽管我可以清楚地看到值 Luke
打印在 LogCat
应使用 ContentValues
完成此任务:
例如:
SQLiteDatabase database = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(FORENAME, forename);
values.put(SURNAME, surname);
values.put(EMAIL, email);
database.update(USER_TABLE, values, USER_ID + "=?", new String[] {userID});
database.close();
return true;