机器人的SQLite db.update()添加值[重复]

问题描述 投票:0回答:4

这个问题已经在这里有一个答案:

我使用的方法db.update()来更改表中的字段的值。当我插入新的值是与现有的和可能的呢?

 public void Trasf() {
String value = Scegli.getText().toString();
        cv.put(CTable.PREL, mI.getText().toString());

        SQLiteDatabase db = mHelper.getWritableDatabase();

        db.update(CTable.TABLE_NAME, cv, CTable.NO + " = ?",  new String[] { value });

        db.close();
}
    }
android sqlite field
4个回答
-1
投票

不清楚自己想做的事,但也许是什么:

 public void Trasf() { 

        String value = Scegli.getText().toString();

        // add two strings or numbers together in the .put method
        cv.put(CTable.PREL, mI.getText().toString() + " " + oldString); // for string
        cv.put(CTable.PREL, int_new + int_old); // adding numbers

        SQLiteDatabase db = mHelper.getWritableDatabase();

        db.update(CTable.TABLE_NAME, cv, CTable.NO + " = ?",  new String[] { value });

        db.close(); }
    }

1
投票

ContentValues对象只允许简单的值。

做计算,你必须自己编写SQL并调用execSQL

public void Trasf() {
    SQLiteDatabase db = mHelper.getWritableDatabase();
    try {
        db.execSQL("UPDATE " + CTable.TABLE_NAME +
                   " SET " + CTable.PREL + " = " + CTable.PREL + " + ?" +
                   " WHERE " + CTable.NO + " = ?",
                   new Object[] { mI.getText().toString(),
                                  Scegli.getText().toString() });
    } finally {
        db.close();
    }
}

0
投票

更改

CTable.NO + " = ?"

CTable.NO + " = " + CTable.NO + " + ?"


0
投票

你需要使用SELECT命令首先检索现有的值,然后在简历。

使用游标检索值,并将其存储在一个局部变量。

现有+新价值

现在,写你的更新语句。

© www.soinside.com 2019 - 2024. All rights reserved.