当我尝试将一些条件值放入ContentValues变量时,插入为String。
contentValues = new ContentValues();
contentValues.put("DLM", "julianday('now', 'localtime')");
执行
后count = db.update(TABLE_NAME, contentValues, selection, selectionArgs);
字段已更新但值不正确。我需要在字段中包含数字日期,而不是字符串。
如果我需要使用计算值更新现有字段,则会出现另一个问题:
UPDATE tbl SET field=field*2
当我把值放在
时contentValues.put("field", "field*2");
它将值设为String。我如何才能获得真正需要的价值?
答案 0 :(得分:1)
我认为你应该使用execSQL方法代替update()方法,它允许你完全控制查询语法。此外,您可以考虑creating triggers而不是计算查询中的字段。
答案 1 :(得分:0)
您需要输入日期,如:
日历cal = Calendar.getInstance();
ContentValues values = new ContentValues();
values.put("DLM", String.format("%1$te-%1$tB-%1$tY",cal));//this will insert date with format 2 July 2011
用于更新fieldValue * 2,
等值你需要从表中获取较旧的值,然后你需要传递它:
values.put("field_name",new_field_value);