数据在数据库中插入两次,当我插入新数据时,它插入两次,但是当我更新它在单行上完美更新

时间:2012-05-22 08:07:56

标签: android database sqlite insert

我被困在这里,无法找到问题所在 它使用相同的值插入数据两次,但它autoIncrement Id,帮我解决..我想一次添加单个记录

if(count>0)
                        {
                            sing.gs.updateSettings();
                            Toast.makeText(this, "Settings Updated", 5000).show();
                        }
                    else
                        {
                            sing.gs.addSettings();

在我用于调用我的活动的GETTER SETTER中添加设置方法

public void addSettings()
    {
        dbm.addSettings(

                golfCourse,
                address,
                phone, 
                userName, 
                userEmail, 
                applicator1, 
                applicator2, 
                applicator3, 
                applicator4, 
                supersEmail, 
                assistSupersEmail, 
                sprayTechEmail, 
                clubMangEmail);
    }

在数据库管理器类中添加设置方法,负责在数据库中插入数据     //添加设置         public void addSettings(

            String gc,
            String add,
            String ph,
            String un,
            String ue,
            String ap1,
            String ap2,
            String ap3,
            String ap4,
            String se,
            String ase,
            String ste,
            String cme
            )
    {
        ContentValues values = new ContentValues();

        values.put(Cgc_golf_course, gc);
        values.put(Caddress, add);
        values.put(Cphone, ph);
        values.put(Cun_user_name, un);
        values.put(Cue_user_email, ue);
        values.put(Cap1, ap1);
        values.put(Cap2, ap2);
        values.put(Cap3, ap3);
        values.put(Cap4, ap4);
        values.put(Cse_supers_email, se);
        values.put(Case_assist_supers_email, ase);
        values.put(Cste_spray_tech_email, ste);
        values.put(Ccme_club_manager_email, cme);

        try {
            a++;
            db.insert(TABLE_NAME, null, values);
            insertId = (db.insert(TABLE_NAME, null, values));


        } catch (Exception e) {
            Log.e("DB ERROR", e.toString());
            e.printStackTrace();
        }
    }

1 个答案:

答案 0 :(得分:2)

您在以下代码中调用insert两次:

        db.insert(TABLE_NAME, null, values);
        insertId = (db.insert(TABLE_NAME, null, values));