请教个关于android sqlite update的问题

anod 2013-11-30 10:16:19
有个表TestTable,其中一个字段是Max,int类型,我想将其值+100.在SQLiteManager中可以这么写:
update TestTable set Max=Max+100;

想请教下,如果使用SQLiteDatabase的update方法实现更新,那么该怎么写?
...全文
443 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
anod 2013-12-05
  • 打赏
  • 举报
回复
反正现在是只能用execSQL方法将就着了。暂时不管是否更新成功。
anod 2013-12-05
  • 打赏
  • 举报
回复
引用 8 楼 ncepu307 的回复:
[quote=引用 7 楼 anod 的回复:] 想用update方法的原因是希望通过返回值判断更新是否成功了。但execSQL方法没有返回值。 另外,我试验了下,貌似在update方法中是不能用“Max=Max+100”的,无论如何也想不出来应该怎么写。 直接用execSQL的问题我看了下google的文档,上面写了,execSQL执行的不能是SELECT和返回数据的SQL。而另一个方法execSQL(String sql, Object[] bindArgs)更过分,直接说明“不能是SELECT/UPDATE/INSERT/DELETE”。 现在还没试验,等有明确结果了再说。
update方法的第二个参数是ContentValues类型,看update的源码 contentValue.put("Max", "Max+1");肯定是不行的,它会更新你的值为“Max+1”这个字符串,悲剧。 楼主要返回更新后的数据结果? 不行的话开个线程查一遍需要的结果。。。。。[/quote] 不是想要更新后的数据,是想通过判断受影响的行数来确定更新是否成功了。
anod 2013-12-03
  • 打赏
  • 举报
回复
想用update方法的原因是希望通过返回值判断更新是否成功了。但execSQL方法没有返回值。 另外,我试验了下,貌似在update方法中是不能用“Max=Max+100”的,无论如何也想不出来应该怎么写。 直接用execSQL的问题我看了下google的文档,上面写了,execSQL执行的不能是SELECT和返回数据的SQL。而另一个方法execSQL(String sql, Object[] bindArgs)更过分,直接说明“不能是SELECT/UPDATE/INSERT/DELETE”。 现在还没试验,等有明确结果了再说。
依然绿茶 2013-12-03
  • 打赏
  • 举报
回复
引用 7 楼 anod 的回复:
想用update方法的原因是希望通过返回值判断更新是否成功了。但execSQL方法没有返回值。 另外,我试验了下,貌似在update方法中是不能用“Max=Max+100”的,无论如何也想不出来应该怎么写。 直接用execSQL的问题我看了下google的文档,上面写了,execSQL执行的不能是SELECT和返回数据的SQL。而另一个方法execSQL(String sql, Object[] bindArgs)更过分,直接说明“不能是SELECT/UPDATE/INSERT/DELETE”。 现在还没试验,等有明确结果了再说。
update方法的第二个参数是ContentValues类型,看update的源码 contentValue.put("Max", "Max+1");肯定是不行的,它会更新你的值为“Max+1”这个字符串,悲剧。 楼主要返回更新后的数据结果? 不行的话开个线程查一遍需要的结果。。。。。
MR__P 2013-12-02
  • 打赏
  • 举报
回复
Max+int应该不行
MR__P 2013-12-02
  • 打赏
  • 举报
回复
Max是字段名,那后面Max=Max+int;Max为String类型
MR__P 2013-12-02
  • 打赏
  • 举报
回复
感觉1#的运行会有问题,不太肯定能不能实现
kmacro 2013-12-02
  • 打赏
  • 举报
回复
感觉1#的大侠说的比较靠谱, 你该不会是用了contentprovider吧?
荒颜 2013-12-02
  • 打赏
  • 举报
回复
额 好奇怪的赶脚 能直接 Max=Max+100 吗 没这么用过额
依然绿茶 2013-12-01
  • 打赏
  • 举报
回复
楼主为什么一定要调用update方法呢?直接执行sql语句:
mSQLDatabase.execSQL("update TestTable set Max=Max+100");

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧