如何通过SQL命令更新SQLite android中的表?

时间:2016-02-04 06:00:45

标签: android sqlite android-sqlite

我的代码在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()+  );


            }
        });

请帮忙。

6 个答案:

答案 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()+"'");
        }
    });