如何在 sqlite 数据库现有列中添加变量的值?
How to add a value of a variable in a sqlite database existing column?
我想就我的 android 代码寻求一些帮助。我正在尝试使用 SQLite.My 数据库开发一个测验应用程序,该数据库有两个表。一份用于学生信息,一份用于问答。姓名、学号等学生信息e.c。是通过 textViews 的输入。在结果 activity 中参加测验后,分数显示出来。但我也希望将此分数保存在 Student_trable.
的列 COLUMN_SCORE 中
我尝试使用此方法更新 table:
`public static void addScore (int StudentScore){
ContentValues cv = new ContentValues();
cv.put(DataContract.StudentTable.COLUMN_SCORE, StudentScore);
Cursor c = db.rawQuery("SELECT * FROM student_info ORDER BY id DESC LIMIT 1 " ,null);
db.update(DataContract.StudentTable.TABLE_NAME1, cv, DataContract.StudentTable.COLUMN_SCORE + "= ?", new String[] {String.valueOf (c)});
db.close();`
但是我失败了。有什么建议吗?
这是我的代码的更多详细信息:
您可以在 update()
方法的 WHERE
子句参数中使用子查询,这样就不需要 SELECT
查询来检索最后一个 id
:
public static void addScore(int studentScore) {
String table = DataContract.StudentTable.TABLE_NAME1;
String id = DataContract.StudentTable.COLUMN_ID;
ContentValues cv = new ContentValues();
cv.put(DataContract.StudentTable.COLUMN_SCORE, studentScore);
db.update(
table,
cv,
id + " = (SELECT MAX(" + id + ") FROM " + table + ")",
null
);
db.close();
}
我想就我的 android 代码寻求一些帮助。我正在尝试使用 SQLite.My 数据库开发一个测验应用程序,该数据库有两个表。一份用于学生信息,一份用于问答。姓名、学号等学生信息e.c。是通过 textViews 的输入。在结果 activity 中参加测验后,分数显示出来。但我也希望将此分数保存在 Student_trable.
的列 COLUMN_SCORE 中我尝试使用此方法更新 table:
`public static void addScore (int StudentScore){
ContentValues cv = new ContentValues();
cv.put(DataContract.StudentTable.COLUMN_SCORE, StudentScore);
Cursor c = db.rawQuery("SELECT * FROM student_info ORDER BY id DESC LIMIT 1 " ,null);
db.update(DataContract.StudentTable.TABLE_NAME1, cv, DataContract.StudentTable.COLUMN_SCORE + "= ?", new String[] {String.valueOf (c)});
db.close();`
但是我失败了。有什么建议吗? 这是我的代码的更多详细信息:
您可以在 update()
方法的 WHERE
子句参数中使用子查询,这样就不需要 SELECT
查询来检索最后一个 id
:
public static void addScore(int studentScore) {
String table = DataContract.StudentTable.TABLE_NAME1;
String id = DataContract.StudentTable.COLUMN_ID;
ContentValues cv = new ContentValues();
cv.put(DataContract.StudentTable.COLUMN_SCORE, studentScore);
db.update(
table,
cv,
id + " = (SELECT MAX(" + id + ") FROM " + table + ")",
null
);
db.close();
}