在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。你能帮我写一下吗