解决方案 »

  1.   

    楼主为什么一定要调用update方法呢?直接执行sql语句:
    mSQLDatabase.execSQL("update TestTable set Max=Max+100");
      

  2.   

    额  好奇怪的赶脚  能直接 Max=Max+100 吗 没这么用过额
      

  3.   

    感觉1#的大侠说的比较靠谱, 你该不会是用了contentprovider吧?
      

  4.   

    Max是字段名,那后面Max=Max+int;Max为String类型
      

  5.   

    想用update方法的原因是希望通过返回值判断更新是否成功了。但execSQL方法没有返回值。
    另外,我试验了下,貌似在update方法中是不能用“Max=Max+100”的,无论如何也想不出来应该怎么写。
    直接用execSQL的问题我看了下google的文档,上面写了,execSQL执行的不能是SELECT和返回数据的SQL。而另一个方法execSQL(String sql, Object[] bindArgs)更过分,直接说明“不能是SELECT/UPDATE/INSERT/DELETE”。
    现在还没试验,等有明确结果了再说。
      

  6.   

    update方法的第二个参数是ContentValues类型,看update的源码
    contentValue.put("Max", "Max+1");肯定是不行的,它会更新你的值为“Max+1”这个字符串,悲剧。
    楼主要返回更新后的数据结果?
    不行的话开个线程查一遍需要的结果。。
      

  7.   

    update方法的第二个参数是ContentValues类型,看update的源码
    contentValue.put("Max", "Max+1");肯定是不行的,它会更新你的值为“Max+1”这个字符串,悲剧。
    楼主要返回更新后的数据结果?
    不行的话开个线程查一遍需要的结果。。
    不是想要更新后的数据,是想通过判断受影响的行数来确定更新是否成功了。
      

  8.   

    反正现在是只能用execSQL方法将就着了。暂时不管是否更新成功。