Android:怎么防止向SQLite插入重复的数据

作为刚掌握SQLiteDatabase的新手,我的数据库中总是插入了重复的值让我很苦恼,网上又没有一丁点儿的提示,所以只能自己思考,自己摸索。现在想明白了,就给陷入同样苦恼的人一点帮助。

其实思想很简单,就是把待插入的值放到表中查询比照,如果相同就不插入,如果不同就插入,代码如下:

下面情景是添加某个省的名字数据到数据库中,如果该省已经在数据库中则不添加。

for (Province p : provinceList) {   //provinceList是存有省名的集合
    String provinceName = p.getProvinceName();

    //把该省的省名作为查找条件
    Cursor cursor = database.query("Province", new String[]{"province_name"}, "province_name = ?", new String[]{provinceName}, null, null, null);
    if (cursor.getCount() == 0){
        Log.d(TAG, "加入"+provinceName+"到数据库中");
        //插入数据
        ContentValues values = new ContentValues();
        values.put("province_name", p.getProvinceName());
        values.put("province_code", p.getProvinceCode());
        database.insert("Province", null, values);
    }else {
        Log.d(TAG, "数据库中已存在" + provinceName);
    }
}


就是这么简单,但是有时候脑子犯糊涂了就会卡住,特此记录。
————————————————
转载于:https://blog.csdn.net/weixin_40707866/article/details/81189361

猜你喜欢

转载自blog.csdn.net/weixin_42602900/article/details/131171576