Я работаю над приложением, которое имеет несколько запросов дб вставки/обновления и по всему приложению я использоваландроид SQLiteDatabase.insert против ExecuteSQL
SQLiteDatabase.insert(String table, String nullColumnHack, ContentValues values)
метод для вставки любых данных в любой таблице. Я имею в виду, что я создаю объект ContentValues и ставил все мои значения в качестве пары ключ/значение внутри этого объекта и передавал его этому методу.
contentValues.put("col1", valueCol1);
contentValues.put("col2", valueCol2);
contentValues.put("col3", valueCol3);
Так что просто хотел проверить, если этот способ вставки записей в таблицу SQLite лучше или лучше использовать ExecuteSQL [С точки зрения SQLinjection]. Я понимаю в соответствии с документацией здесь
[http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#execSQL(java.lang.String)][1]
что рекомендуется использовать вставку для execSQL. Но это более подвержено SQLInjections, если оно вообще есть. Любые входы/предложения.
Спасибо Иосиф за ваш ответ. – Deva
Это отмечено в конце, но все же ... они не автоматически «без sql-инъекций», но вам нужно их правильно использовать (статический запрос и параметры входят только в массив параметров). – domen