数据库更新方法无法接受整数值

时间:2014-06-02 16:30:46

标签: android android-sqlite

这是我之前在db.update上的问题。

我使用了代码Karakuri的建议,并将数据库适配器方法修改为以下内容。 请注意,fma是一个整数(实际上是34)数据库适配器来自mainactivity

    public void updateJ(int fma){
         String where = "coli = ?";

        ContentValues arw = new ContentValues();
        cv.put("coli", fma);

            the below no longer used but null the last argument instead
        //  String jusi =  Integer.toString(fma);
        // String[] whereArgs = new String[] {jusi};
        //Log.w(TAG, "whereArgs = " + whereArgs);


        db.update("superTable", cv, where, null);
            }

它仍然不起作用。 //来自之前的'log.w读作06-02 16:24:31.695:W / DBA信息(18940):whereArgs = [Ljava.lang.String; @ 5299a034'

//但在阅读在线教程和Android网站以及Karakuri的解释后,我有一个问题,第四个参数whereArgs假设是String []而不是String或int。但是superTable中的'coli'列是一个整数设计。我如何让它接受一个int而不是一个String []?

我用null替换了whereargs,并且基本上使用int fma变量直接使用cv.put,但它仍然不起作用?在放入之前将int转换为字符串,它也不起作用。

1 个答案:

答案 0 :(得分:0)

  

它仍然不起作用。 //来自之前的'log.w读作06-02 16:24:31.695:W / DBA信息(18940):whereArgs = [Ljava.lang.String; @ 5299a034'

您没有将whereArgs传递给update(),这就是为什么它“不起作用”。变化

db.update("superTable", cv, where, null);

db.update("superTable", cv, where, whereArgs);

日志输出是在toString()字符串数组上调用String[]时所期望的。