Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android studio中的update execSQL语句中使用变量_Android - Fatal编程技术网

在android studio中的update execSQL语句中使用变量

在android studio中的update execSQL语句中使用变量,android,Android,我想用如下函数更新sqlite数据库表 execSQL在我直接使用1时起作用,但在使用变量dep时不起作用 public void update(long id,int dep) { Log.i("ee","havu entered in update"); db.beginTransaction(); db.execSQL("UPDATE deci set dp = dep WHERE _id = 1"); //db.execSQL("UPDATE deci

我想用如下函数更新sqlite数据库表

execSQL
在我直接使用1时起作用,但在使用变量dep时不起作用

public void update(long id,int dep) {
    Log.i("ee","havu entered in update");

    db.beginTransaction();
    db.execSQL("UPDATE deci set dp = dep WHERE _id = 1");
    //db.execSQL("UPDATE deci set dp = 1 WHERE _id = 1");
    db.setTransactionSuccessful();
    db.endTransaction();
    db.close();
    /*ContentValues contentValues = new ContentValues();
    contentValues.put(dp, dep);
    int i = db.update(deci, contentValues );*/
    return ;
}

按如下方式传递变量:

db.execSQL("UPDATE deci set dp = " + dep + " WHERE _id = " + id );
在您的代码中,我看到使用
ContentValues

的注释语句 这始终是一种更好、更安全的方法:

ContentValues cv = new ContentValues();
cv.put("dp", dep); 
db.update(deci , cv, "_id = ?", new String[]{id});