数据库列作为参数参数

时间:2013-07-02 06:13:18

标签: android database sqlite

如何为sqlite编写方法,我可以将要更新的列作为方法的参数进行更新?

例如像这样的事情,updateThisRow(A4,“test string”);

其中A4是使用的列名

在数据库类中声明的变量;

 // variables for LARGE_TANK_CHECK_RESULT
    public static final String A0 = "a0";
    public static final String A1 = "a1";
    public static final String A2 = "a2";
    public static final String A3 = "a3";
    public static final String A4 = "a4";
    public static final String A5 = "a5";
    public static final String A6 = "a6";
    public static final String A7 = "a7";........
我之前使用的

功能需要更新所有列,而不是我想要的。

 public void insertNewRowLargeTank(String[] a, String[] b){

                        ContentValues contentValues = new ContentValues();
                        contentValues.put(A0, a[0]);
                        contentValues.put(A1, a[1]);
                        contentValues.put(A2, a[2]);
                        contentValues.put(A3, a[3]);
                        contentValues.put(A4, a[4]);
                        contentValues.put(A5, a[5]);
                        contentValues.put(A6, a[6]);
                        contentValues.put(A7, a[7]);
                        contentValues.put(A8, a[8]);
                        contentValues.put(A9, a[9]);
                        contentValues.put(A10, a[10]);
                        contentValues.put(A11, a[11]);
                        contentValues.put(A12, a[12]);
                        contentValues.put(A13, a[13]);
                        contentValues.put(A14, a[14]);
                        contentValues.put(A15, a[15]);
                        contentValues.put(A16, a[16]);
                        contentValues.put(A17, a[17]);
                        contentValues.put(A18, a[18]);
                        contentValues.put(A19, a[19]);
                        contentValues.put(A20, a[20]);
                        contentValues.put(A21, a[21]);
                        contentValues.put(A22, a[22]);
                        contentValues.put(A23, a[23]);
                        contentValues.put(A24, a[24]);
                        contentValues.put(A25, a[25]);
                        contentValues.put(A26, a[26]);
                        contentValues.put(A27, a[27]);
                        contentValues.put(A28, a[28]);
                        contentValues.put(A29, a[29]);
                        contentValues.put(A30, a[30]);
                        contentValues.put(A31, a[31]);
                        contentValues.put(A32, a[32]);
                        contentValues.put(A33, a[33]);
                        contentValues.put(A34, a[34]);
                        contentValues.put(A35, a[35]);
                        contentValues.put(A36, a[36]);
                        contentValues.put(A37, a[37]);
                        contentValues.put(A38, a[38]);
                        contentValues.put(A39, a[39]);

1 个答案:

答案 0 :(得分:1)

你做不到。列和表在内部准备的sqlite语句中修复。因此,您不能对列进行绑定,而不是为多次调用语句绑定新值。

如果要动态构建sql语句,请使用StringBuilder,或为String.format()创建格式化字符串,并在每次执行语句时重复使用。