gpt4 book ai didi

android - 仅当该值在 sqlite 数据库中不存在时才插入,否则覆盖

转载 作者:行者123 更新时间:2023-11-29 21:00:22 25 4
gpt4 key购买 nike

我已经创建了 sqlite 数据库,我想做的是当用户输入值时我想检查该值是否已经存在如果值已经存在然后更新否则插入该值,我试过的是......

public long insertDataCat(String id,String cat)
{
try {
SQLiteDatabase db;
db = this.getWritableDatabase(); // Write Data


ContentValues Val = new ContentValues();
Val.put("IDD", id);
Val.put("Categoryy", cat);

long rows = db.insert(TABLE_CATEGARY_MASTER, null, Val);

db.close();
return rows; // return rows inserted.

} catch (Exception e) {
return -1;
}

}

最佳答案

首先,如果在表中找到任何记录意味着它返回游标计数 1,则返回表的游标计数,否则返回零。如果游标计数为 1,则意味着您执行更新操作,否则执行插入操作。

 public long insertDataCat(String id,String cat)
{
try {
SQLiteDatabase db;
db = this.getWritableDatabase(); // Write Data


ContentValues Val = new ContentValues();
Val.put("IDD", id);
Val.put("Categoryy", cat);
String selectQuery = "select * from TABLE_CATEGARY_MASTER";
Cursor cursor = db.rawQuery(selectQuery, null);`
if(cursor.getCount()==1)
{
//execute update query here
long updaterow=db.update(TABLE_CATEGARY_MASTER,val);
return updaterow; // return rows inserted.
}
else
{
//Perform the insert query
long rows = db.insert(TABLE_CATEGARY_MASTER, null, Val);
return rows; // return rows inserted.
}

db.close();


} catch (Exception e) {
return -1;
}

}

关于android - 仅当该值在 sqlite 数据库中不存在时才插入,否则覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26313712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com