Pja*_*ess 4 java sql sqlite android
我有一个字符串数组,如果在插入它们之前存在于表中则需要进行检查,以避免重复.什么是SQL查询以及如何将以下值替换为它?:)
ArrayList<Product> NewProducts= new ArrayList<Product>();
Run Code Online (Sandbox Code Playgroud)
我的产品型号:
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";
}
Run Code Online (Sandbox Code Playgroud)
表名: product_pics
数据库名称: product_db
我知道这句话会有效:
"SELECT * FROM ' + product_pics + ' WHERE PID=' + pid +'"
Run Code Online (Sandbox Code Playgroud)
如何正确格式化此方法,以便在产品存在时方法返回?
M D*_*M D 17
只是喜欢
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();
Run Code Online (Sandbox Code Playgroud)
使用 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
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
17527 次 |
| 最近记录: |