这是我的创建函数,它在数据库中插入数组数据.Data从服务器获取并插入db。
public long createEmployee_New(ArrayList<Customer> aCustomer) {
long row_id = 0;
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
for(int i = 0;i<aCustomer.size();i++) {
Customer employee = new Customer();
employee = aCustomer.get(i);
values.put(EMP_ID, employee.getEmpID());
values.put(EMP_TYPE, employee.getEmpType());
values.put(EMP_CITY, employee.getEmpCity());
values.put(EMP_NAME, employee.getEmpName());
values.put(EMP_CONTACT_PERSON, employee.getEmpContactPersonName());
values.put(EMP_CONTACT, employee.getEmpContactNo());
values.put(EMP_ADD, employee.getEmpAddress());
values.put(EMP_STATE, employee.getEmpState());
values.put(EMP_DELSTATE, employee.getEmpDelState());
values.put(CUSTOMER_LANDLINE, employee.getCustomer_landline());
values.put(CUST_COMPANY_ID, employee.getCust_companyID());
values.put(CUSTOMER_EMAIL_ID,employee.getCust_emailID());
values.put(PRICE_LIST_ID_FK,employee.getPRICE_LIST_ID_FK());
row_id = db.insert(TABLE_EMPLOYEE, null, values);
}
db.close();
return row_id;
}
我如何检查empid是否存在于表中的唯一出口,如果存在则更新该特定empid的数据,如果它不存在于db中则创建
答案 0 :(得分:1)
您可以将方法insertWithOnConflict
与CONFLICT_REPLACE
常量一样使用,
db.insertWithOnConflict(TABLE_EMPLOYEE, null, values, SQLiteDatabase.CONFLICT_REPLACE);
答案 1 :(得分:1)
对于更新和插入数据,您还可以使用以下方法
mDatabase.insertWithOnConflict(TABLE_EMPLOYEE, null, values,
SQLiteDatabase.CONFLICT_REPLACE);
答案 2 :(得分:0)
Cursor cursor = null;
String idValue="5"; //the employee id which you want to insert
String sql ="SELECT EMP_ID FROM "+TableName+" WHERE EMP_ID="+ idValue;
cursor= db.rawQuery(sql,null);
Log("Cursor Count : " + cursor.getCount());
if(cursor.getCount()>0){
// employee ID Found put update query here
}else{
//employee ID Not Found put insert query here
}
答案 3 :(得分:0)
您可以使用替换 命令而不是插入命令。 它适用于mysql。