0

メソッドのパラメーターとして更新したい列を配置できる 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]);
4

1 に答える 1

1

できません。列とテーブルは、内部で準備された sqlite ステートメントで修正されます。したがって、ステートメントへの複数の呼び出しに対して新しい値をバインドするのではなく、列でバインドすることはできません。

SQL ステートメントを動的に作成する場合は、ステートメントを実行するたびに を使用するStringBuilderか、書式設定された文字列を作成して再利用します。String.format()

于 2013-07-02T06:40:10.973 に答える