Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
在androidsqlite中插入和更新查询_Android_Sqlite_If Statement_Insert_Sql Update - Fatal编程技术网

在androidsqlite中插入和更新查询

在androidsqlite中插入和更新查询,android,sqlite,if-statement,insert,sql-update,Android,Sqlite,If Statement,Insert,Sql Update,我正在使用下面的代码插入和更新表 int rowsaffected = db.update(MyDatabaseHelperDon.TABLE_CURRENT, values,MyDatabaseHelperDon.VARIABLE_CURRENT + " = " + "\"" + var + "\"",null); if(rowsaffected == 0) { db.insert(MyDatabaseHelperDon.TABLE_CURRENT, null,values)

我正在使用下面的代码插入和更新表

int rowsaffected = db.update(MyDatabaseHelperDon.TABLE_CURRENT, values,MyDatabaseHelperDon.VARIABLE_CURRENT + " = " + "\"" + var + "\"",null);

if(rowsaffected == 0) {
        db.insert(MyDatabaseHelperDon.TABLE_CURRENT, null,values);
}
其中MyDatabaseHelperDon.TABLE_CURRENT是我的表名,“values”是我的内容值,MyDatabaseHelperDon.VARIABLE_CURRENT是列名,“var”是列中存在的变量

此代码运行良好。现在我需要添加If条件,比如'If(value!=400)',如果它满足,那么只有它应该更新或插入


请指导我如何做到这一点

如果我正确理解了您的问题,您可以尝试以下方法:

private void insertUpdate ()
{
  // Your Insert / Update code here...
     int rowsaffected = db.update(MyDatabaseHelperDon.TABLE_CURRENT, values,MyDatabaseHelperDon.VARIABLE_CURRENT + " = " + "\"" + var + "\"",null);

     if(rowsaffected == 0) 
     {
        db.insert(MyDatabaseHelperDon.TABLE_CURRENT, null,values);
     }
}

public void callingMethod()
{
    int value = 0;// Initialize here 
    value =    // process this value further based on your logic....
    if (value !=400)
    {
        insertUpdate ();
    }
    else
   {
        // when value is 400
   }

}

您可以在调用插入/更新函数之前进行检查。请发布调用insert function.db.update的代码。update将返回整数值,如果值被更新,它将返回1或0,如果值为零,我将插入该值。Insert函数已编写,请检查此处的codevalue是列名,如果表中列值中不存在400,则我需要update@user3705553:您可以使用where条件进行更新。或者,您可以在调用insert update方法之前进行选择查询。可能此链接可以帮助您更新条件:如果我使用where条件检查值条件,则如果值等于400,则返回0,而insert query将再次插入400:(所以考虑在同一个查询上写Insert和Update。你能帮我写一下吗