[英]Android Sqlite: Check if row exists in table
我有一個字符串數組,如果在插入它們之前存在於表中則需要進行檢查,以避免重復。 什么是SQL查詢以及如何將以下值替換為它? :)
ArrayList<Product> NewProducts= new ArrayList<Product>();
我的產品型號:
public class Product {
public Product()
{
}
public String PID = "pid";
public String getPID() {
return PID;
}
public void setPID(String pID) {
PID = pID;
}
public String getNAME() {
return NAME;
}
public void setNAME(String nAME) {
NAME = nAME;
}
public String PID = "pid";
public String NAME = "name";
}
表名: product_pics
數據庫名稱: product_db
我知道這句話會有效:
"SELECT * FROM ' + product_pics + ' WHERE PID=' + pid +'"
如何正確格式化此方法,以便在產品存在時方法返回?
只是喜歡
Cursor cursor = null;
String sql ="SELECT PID FROM "+TableName+" WHERE PID="+pidValue;
cursor= db.rawQuery(sql,null);
Log("Cursor Count : " + cursor.getCount());
if(cursor.getCount()>0){
//PID Found
}else{
//PID Not Found
}
cursor.close();
使用SELECT EXIST僅將結果限制為1或0,LIMIT 1使查詢執行得更快:
fun exists(): Boolean {
var sql = "SELECT EXISTS (SELECT * FROM $tableName WHERE $someColumn
= $someValue LIMIT 1)"
val cursor = db?.rawQuery(sql, null)
cursor?.moveToFirst()
return if (cursor?.getInt(0) == 1) {
cursor?.close()
true
} else {
cursor?.close()
false
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.