Ну, есть строка содержит INSERT INTO PERSON (ID, NAME) VALUES (1, 'Person1');
Как я могу вставить непосредственно заявление sql?
Как я могу вставить прямо на Android SQLite без использования ContentValues и SQLiteDatabase.insert()?
Ну, есть строка содержит INSERT INTO PERSON (ID, NAME) VALUES (1, 'Person1');
Как я могу вставить непосредственно заявление sql?
Как я могу вставить прямо на Android SQLite без использования ContentValues и SQLiteDatabase.insert()?
я думаю, что вы можете сделать это с помощью rawQuery() -
database.rawQuery(sql, selectionArgs);
Андроида документация ободряет использовать запрос, вставки, удаления и методы обновления, но для более сложных операций, можно использовать пользовательский оператор SQL:
Для получения более подробной информации см. SQLiteDatabase Documentation.
Я пытаюсь использовать SQLiteDatabase.execSql(), но не работает. Public void execSQL (String sql, Object [] bindArgs) Выполните один оператор SQL, который НЕ является SELECT/INSERT/UPDATE/DELETE. Не работает для вставки, не так ли? У меня плохой английский =/ – FennFelis
'execSql' не * предназначенный *, который будет использоваться для вставки, но он будет работать. Единственная проблема заключается в том, что вам нужно отформатировать инструкцию INSERT самостоятельно. –
'execSql' работает для вставки, но не рекомендуется, так как этот метод не имеет возвращаемого значения. Тогда вы не сможете получить количество затронутых строк в этой операции. –