在android中使用ContentValues添加值时,下一个put方法会覆盖已添加的值

时间:2015-02-07 06:54:02

标签: android

public void addup(UserProfile profile)
{
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put("countrycode", profile.getCCode());
    values.put("deviceid",profile.getDID());
    values.put("devicename", profile.getDName());
    values.put("homeLoc",profile.getLat()+","+profile.getLong());
    values.put("mobile", profile.getMobileNum().toString());
    values.put("name",profile.getUName());
    values.put("password", profile.getPWD());
    values.put("uid", profile.getUID());
}

我试过这个,但每次使用put时,一个索引总是被新值替换。我曾尝试使用ContenValues(8)将所有内容设置在正确的位置,但同样的情况也是如此。请帮忙

1 个答案:

答案 0 :(得分:0)

您的addup方法缺少最终的数据库插入语句。您应该像我在下面所做的那样修改您的addup方法。我假设您的表名称为TABLE_DATA

public void addup(UserProfile profile) {

    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put("countrycode", profile.getCCode());
    values.put("deviceid",profile.getDID());
    values.put("devicename", profile.getDName());
    values.put("homeLoc",profile.getLat()+","+profile.getLong());
    values.put("mobile", profile.getMobileNum().toString());
    values.put("name",profile.getUName());
    values.put("password", profile.getPWD());
    values.put("uid", profile.getUID());

    /* insert row */
    long rowID = db.insert(TABLE_DATA, null, values);

}

如果有帮助,请告诉我。