更新查询无法在sqlite Android

时间:2016-05-30 19:59:02

标签: android sqlite

我使用非常简单的代码来更新行中的twofield值,但它没有更新值。这是我的代码:

private static final String KEY_ID = "_id";

public int updateContact(Biller_model_db contact) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_NAME, contact.getName());
    values.put(KEY_TYPE, contact.getType());
    values.put(KEY_AMOUNT, "Rs 0.0");
    values.put(KEY_DATE, "");

    // updating row
    return db.update(TABLE_CONTACTS, values, KEY_ID + " =?",
                    new String[] { String.valueOf(contact.getID()) });
}

我在这里尝试更新金额和日期。 这就是我添加记录的方式

DatabaseHandler_Update db = new DatabaseHandler_Update(
                                                    SingleItemView.this);


                                            Log.d("Insert: ", "Inserting ..");
                                            DateFormat dateFormat = new SimpleDateFormat(
                                                    "yyyy/MM/dd");
                                            Calendar cal = Calendar.getInstance();


                                            cal.add(Calendar.DATE, -Integer.parseInt(duedate));
                                            System.out.println("hellozzzzzzzzz"
                                                    + dateFormat.format(cal.getTime()));
                                            db.addContact(new Biller_model_db(rank, country,
                                                    "Rs " + update_amount.getText().toString(),
                                                    "Due " + dateFormat.format(cal.getTime())));

如果我错了,请纠正。没有错误,代码没有崩溃,但值没有得到更新。

1 个答案:

答案 0 :(得分:0)

私有SQLiteDatabase myDataBase;
//根据表名和条件

更新信息
private int updateData(String tableName, ContentValues values, String condition) {
    try {
        openDataBase();
    }catch (Exception e)
    {
        e.printStackTrace();
    }
    return myDataBase.update(tableName, values, condition, null);
}