Я довольно новыми для SQLite базы данных, поэтому, пожалуйста, простите меня ...Обновление целочисленных значений в базе данных SQLite (Java)
У меня есть база данных с целыми значениями. При обновлении строки в базе данных с помощью приведенного ниже кода есть некоторая проблема, которую я не понимаю. гдеArgs имеет тип String [], хотя значения, которые вы ищете, являются целыми числами, поэтому я ожидаю, что вы должны пройти в int [].
SQ.update(table, values, whereClause, whereArgs)
Где я могу пойти не так?
Пример кода (гипотетический):
public void changeOneIntoTwo(DatabaseOperations dop) {
SQLiteDatabase SQ = dop.getWritableDatabase();
String selection = "ValuesColumn = ?";
String[] args = {"1"};
ContentValues cv = new ContentValues();
cv.put("ValuesColumn", 2);
SQ.update("MyTable", cv, selection, args);
}
Похоже, что он не поддерживает ints как параметризованные аргументы. Это должно быть безопасно только для того, чтобы сделать 'selection =" ValuesColumn = "+ Integer.toString (myNumber);' – javanut13
Просто передать массив строк, sqlite будет «знать», если это int. http://stackoverflow.com/questions/17481981/using-int-value-in-selection-args-argument-of-sqlite-for-android –
в sql, строка 1 и int 1 оба правильно представлены как '1 «'. Поэтому не стоит беспокоиться о том, что движок sql будет знать, какого типа ожидать для какого столбца. – njzk2