我的代码在Button
点击时无法正常运行更新操作。
Button update_user= (Button) findViewById(R.id.update_user)
update_user.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SignIn_Signup.sqLiteDatabase.execSQL("UPDATE mytable SET name = "+name1_updated.getText() +"
WHERE name=name1.getText()+ );
}
});
请帮忙。
答案 0 :(得分:1)
您在where子句
中缺少引号SignIn_Signup.sqLiteDatabase.execSQL("UPDATE mytable SET name = '"+name1_updated.getText() +"' WHERE name='"name1.getText()"'";
运行时(例如):
UPDATE mytable SET name = 'psypher' WHERE name='neeraj';
另一种方法:
ContentValues contentValues = new ContentValues();
contentValues.put("name", "psyhper");
getWritableDatabase().update("mytable", contentValues, "name" + "=?", new String[]{<put whatever name>});
答案 1 :(得分:1)
如果您希望在delete
中进行Sqlite
操作,则必须使用这些query
db.execSQL("delete from "+YOUR_TABLE_NAME+" where YOUR_COLUMN_NAME='"+VALUE_BY_WHICH_YOU_WANT_TO_DELETE+"'");
对于Update
操作。请使用以下query
SignIn_Signup.sqLiteDatabase.execSQL("UPDATE mytable SET name = '"+name1_updated.getText() +"' WHERE name='"name1.getText()"'";
答案 2 :(得分:1)
尝试使用rawQuery方法
SignIn_Signup.sqLiteDatabase.rawQuery("UPDATE mytable SET name = '"+name1_updated.getText() + "'" + "WHERE name= "+"'"name1.getText() +"'" );
答案 3 :(得分:0)
我认为正确的SQL语句是:
"UPDATE mytable SET name = " + name1_updated.getText() + " WHERE name = " + name1.getText());
答案 4 :(得分:0)
对于更新操作,请确保您的表中有一些适当的约束,例如PRIMARY KEY。 “insertWithOnConflict”方法将执行插入/更新操作。
ContentValues contentValues = new ContentValues();
contentValues.put("name", "Dhruv");
mDatabase.insertWithOnConflict(DATABASE_TABLE_NAME, null, contentValues , SQLiteDatabase.CONFLICT_REPLACE);
答案 5 :(得分:0)
最后我的代码正在运行 那就是:
Button update_user = (Button) findViewById(R.id.update_user);
update_user.setOnClickListener(new View.OnClickListener() {
@Override`
public void onClick(View view) {
SignIn_Signup.sqLiteDatabase.execSQL("UPDATE mytable SET name = '"+name1_updated.getText() +"' WHERE name='"+name1.getText()+"'");
}
});