如何在SQLite Android中插入和更新数据

12 浏览
0 Comments

如何在SQLite Android中插入和更新数据

我从服务器获取数据并将其存储在本地数据库(即SQLite)中。在SQLite中插入了重复的值。

所以我的条件是:

  1. 检查SQLite数据库是否为空,如果是则插入记录
  2. 检查SQLite的id列是否已经存在,如果是则更新,否则插入

我已经这样做了:

SQLiteDatabase db = dbhelp.getWritableDatabase();
        ContentValues values = new ContentValues();
        String sqlq = "Select clid from client_detail";
        Cursor cccs = db.rawQuery(sqlq, null);
        if (cccs.getCount()== 0) {
            values.put("clid", queryValues.get("clid"));
            values.put("_id", queryValues.get("_id"));
            values.put("client_id", queryValues.get("client_id"));
            values.put("client_name", queryValues.get("client_name"));
            values.put("client_mobile", queryValues.get("client_mobile"));
            values.put("client_phone", queryValues.get("client_phone"));
            values.put("client_email", queryValues.get("client_email"));
            values.put("client_address", queryValues.get("client_address"));
            db.insert("client_detail", null, values);
        }else{
            if (cccs.moveToFirst()) {
                do{
                    Log.d("Client ID",""+cccs.getString(0));
                    clid.add(cccs.getString(0));
                    String temp = cccs.getString(0);
                    Log.d("Clid",temp);
                    if(temp.equals(queryValues.get("clid"))) //检查数据库中的每个id是否存在
                    {
                        values.put("clid", queryValues.get("clid"));
                        values.put("lawyer_id", queryValues.get("_id"));
                        values.put("client_id", queryValues.get("client_id"));
                        values.put("client_name", queryValues.get("client_name"));
                        values.put("client_mobile", queryValues.get("client_mobile"));
                        values.put("client_phone", queryValues.get("client_phone"));
                        values.put("client_email", queryValues.get("client_email"));
                        values.put("client_address", queryValues.get("client_address"));
                        db.update("client_detail", values, null, null);
                    }
                    else{
                        values.put("clid", queryValues.get("clid"));
                        values.put("lawyer_id", queryValues.get("_id"));
                        values.put("client_id", queryValues.get("client_id"));
                        values.put("client_name", queryValues.get("client_name"));
                        values.put("client_mobile", queryValues.get("client_mobile"));
                        values.put("client_phone", queryValues.get("client_phone"));
                        values.put("client_email", queryValues.get("client_email"));
                        values.put("client_address", queryValues.get("client_address"));
                        db.insert("client_detail", null, values);
                    }
                }while(cccs.moveToNext());
            }
        }

0