当前位置:编程学习 > wap >>

请教个关于android sqlite update的问题

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

想请教下,如果使用SQLiteDatabase的update方法实现更新,那么该怎么写? sqlite update --------------------编程问答-------------------- 楼主为什么一定要调用update方法呢?直接执行sql语句:
mSQLDatabase.execSQL("update TestTable set Max=Max+100");
--------------------编程问答-------------------- 额  好奇怪的赶脚  能直接 Max=Max+100 吗 没这么用过额 --------------------编程问答-------------------- 感觉1#的大侠说的比较靠谱, 你该不会是用了contentprovider吧? --------------------编程问答-------------------- 感觉1#的运行会有问题,不太肯定能不能实现 --------------------编程问答-------------------- Max是字段名,那后面Max=Max+int;Max为String类型 --------------------编程问答-------------------- Max+int应该不行 --------------------编程问答-------------------- 想用update方法的原因是希望通过返回值判断更新是否成功了。但execSQL方法没有返回值。
另外,我试验了下,貌似在update方法中是不能用“Max=Max+100”的,无论如何也想不出来应该怎么写。
直接用execSQL的问题我看了下google的文档,上面写了,execSQL执行的不能是SELECT和返回数据的SQL。而另一个方法execSQL(String sql, Object[] bindArgs)更过分,直接说明“不能是SELECT/UPDATE/INSERT/DELETE”。
现在还没试验,等有明确结果了再说。 --------------------编程问答--------------------
引用 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”这个字符串,悲剧。
楼主要返回更新后的数据结果?
不行的话开个线程查一遍需要的结果。。。。。 --------------------编程问答--------------------
引用 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”这个字符串,悲剧。
楼主要返回更新后的数据结果?
不行的话开个线程查一遍需要的结果。。。。。

不是想要更新后的数据,是想通过判断受影响的行数来确定更新是否成功了。 --------------------编程问答-------------------- 反正现在是只能用execSQL方法将就着了。暂时不管是否更新成功。
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,