我正在尝试使用编辑文本中的值更新数据库。但是我在记录器中收到一个错误:“*** Process: com.example.coursework2, PID: 12430 android.database.sqlite.SQLiteException: no such column: Wordc (code 1 SQLITE_ERROR): , while compiling: UPDATE Phrases_table SET word = Word WHERE word = Wordc at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
Wordc 是存储在数据库中的单词,“Word”是我尝试更新数据库的值。我是新手,请帮忙。**
// 数据库类,我只有 1 列是 COL_2
public void updateName(String newName,String oldName) { // issue is here
SQLiteDatabase db = this.getWritableDatabase();
String query = "UPDATE " + TABLE_NAME + " SET " + COL_2 + " = " + newName + " WHERE " + COL_2 + " = " + oldName;
db.execSQL(query);
/* 编辑类,当我点击保存按钮时,我从单选按钮获取值,并希望用编辑文本中的值更新数据库 */
buttonSave.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
int pos = listView.getCheckedItemPosition();
if (pos > -1) {
val = list.get(pos).toString(); //getting value from the radio button which is stored in the database
String newWord= edit.getText().toString(); //getting text from edit text
myDb.updateName( newWord,val );
}
您直接传递本机查询,因此您需要在字符串值上使用引号:
String query = "UPDATE " + TABLE_NAME + " SET " + COL_2 + " = \"" + newName + "\" WHERE " + COL_2 + " = \"" + oldName + "\""; db.execSQL(query);
这将生成查询:
UPDATE Phrases_table SET word = "Word" WHERE word = "Wordc"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句