[英]Error while updating the column in SQLite Database Android
我正在嘗試使用update方法更新表中的列。 我被拋出這樣的語法錯誤:
SQLiteException: no such column: DataStructures (code 1): , while compiling: UPDATE tbl_courses SET checked_status=? WHERE course_name=DataStructures
這是我的數據庫查詢:
public static final String TABLE_COURSES = "tbl_courses";
public static final String COLUMN_COURSE_ID = "_id";
public static final String COLUMN_COURSE_NAME = "course_name";
public static final String COLUMN_COURSE_SELECTED = "checked_status";
public static final String COLUMN_COURSE_CODE = "course_code";
public void updateSelectedCourseField(String courseName, String courseSelected) {
ContentValues args = new ContentValues();
args.put(COLUMN_COURSE_SELECTED, courseSelected);
database.update(TABLE_COURSES, args, COLUMN_COURSE_NAME + "=" + courseName,null);
}
我正在嘗試在tbl_courses中更改course_name = DataStructures的checked_status值。 我確定它在數據庫中,但是它拋出了錯誤。 請通過這個指導我。
更好的解決方案是避免使用字符串連接來構建查詢。 而是這樣做:
database.update(TABLE_COURSES, args, COLUMN_COURSE_NAME + "=?", new String[]{courseName});
這不僅可以為您處理引號,還可以避免SQL注入攻擊。 在SQL查詢中使用用戶輸入時,請務必小心。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.