如何为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]);
答案 0 :(得分:1)
你做不到。列和表在内部准备的sqlite语句中修复。因此,您不能对列进行绑定,而不是为多次调用语句绑定新值。
如果要动态构建sql语句,请使用StringBuilder
,或为String.format()
创建格式化字符串,并在每次执行语句时重复使用。