android - ContentValues 将值作为 sql 条件

标签 android android-contentprovider

当我尝试将某些条件值放入 ContentValues 变量时,会插入为字符串。

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");

它已将值设置为字符串。我如何才能获得我真正需要的值(value)?

最佳答案

我认为您应该使用 execSQL 而不是 update() 方法允许您完全控制查询语法的方法。此外,您可以考虑 creating triggers 而不是计算查询中的字段.

关于android - ContentValues 将值作为 sql 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8119857/

相关文章:

Android - 如何使用内容提供者列出文件夹内的文件

android - 使用 _data 字段在 Android 数据库(自定义内容提供程序)中存储文件 - v1.6

Android webview 链接在默认浏览器中打开

java - 当我的 recyclerview 中的所有复选框都未选中时,如何显示 toast ?

android - 使用 Volley 或 Picasso 从 URL 加载并显示 WebM 和 Gif 到 ImageView

Android:查询 MediaStore.Audio.Artists.Albums

Android - 重启后打开系列 Activity

android - 哪个 ListView 在 Android 中的可用性更好?

android - 如何从 userdictionary content provider 检索单词

android - 如何访问不同 Activity 中 fragment 的 contentResolver?