Я смотрю на tutorial for Spatialite-Android, и я заметил следующие примеры кода:Как использовать подготовленный оператор в Spatialite Android?
String query = "SELECT AsText(Transform(MakePoint(" + TEST_LON + ", " + TEST_LAT + ", 4326), 32632));";
sb.append("Execute query: ").append(query).append("\n");
try {
Stmt stmt = db.prepare(query);
if (stmt.step()) {
String pointStr = stmt.column_string(0);
sb.append("\t").append(TEST_LON + "/" + TEST_LAT + "/EPSG:4326").append(" = ")//
.append(pointStr + "/EPSG:32632").append("...\n");
}
stmt.close();
} catch (Exception e) {
e.printStackTrace();
sb.append(ERROR).append(e.getLocalizedMessage()).append("\n");
}
В частности, я заметил, что плохая практика делаются просто нанизыванием запроса SQL, вместо того, чтобы более правильного метод, который используется библиотекой Android SQLite. Есть ли способ заставить Spatialite использовать настоящие подготовленные заявления?
Просто чтобы быть ясно, я ищу что-то вроде этого, используя стандартную базу данных SQLite в Android:
String query="SELECT * FROM table WHERE _id=?";
Cursor data=db.rawQuery(query,new String[]{id});
Это похоже на работу для некоторых заявлений , но не выполняется для вставных операторов. Любая идея, как выполнить вставку? – robguinness
Не нужно было вставлять, так что ... – PearsonArtPhoto