SQLiteDatabase.ExecSQL Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
| ExecSQL(String, Object[]) |
Выполните одну инструкцию SQL, которая не является инструкцией SELECT/INSERT/UPDATE/DELETE. |
| ExecSQL(String) |
Выполните одну инструкцию SQL, которая не является инструкцией SELECT или любой другой инструкцией SQL, которая возвращает данные. |
ExecSQL(String, Object[])
Выполните одну инструкцию SQL, которая не является инструкцией SELECT/INSERT/UPDATE/DELETE.
[Android.Runtime.Register("execSQL", "(Ljava/lang/String;[Ljava/lang/Object;)V", "GetExecSQL_Ljava_lang_String_arrayLjava_lang_Object_Handler")]
public virtual void ExecSQL (string? sql, Java.Lang.Object[]? bindArgs);
[<Android.Runtime.Register("execSQL", "(Ljava/lang/String;[Ljava/lang/Object;)V", "GetExecSQL_Ljava_lang_String_arrayLjava_lang_Object_Handler")>]
abstract member ExecSQL : string * Java.Lang.Object[] -> unit
override this.ExecSQL : string * Java.Lang.Object[] -> unit
Параметры
- sql
- String
Инструкция SQL, выполняемая. Несколько операторов, разделенных точкой с запятой, не поддерживаются.
- bindArgs
- Object[]
только байт[], String, Long и Double поддерживаются в bindArgs.
- Атрибуты
Исключения
Значение , если строка SQL недопустима
Комментарии
Выполните одну инструкцию SQL, которая не является инструкцией SELECT/INSERT/UPDATE/DELETE.
Для инструкций INSERT используйте любой из следующих инструкций. <ul><li#insert(String, String, ContentValues)></<>li/li>#insertOrThrow(String, String, ContentValues)</<>li/li/li#insertWithOnConflict(String, String, ContentValues, int)<>/li></ul>
Для инструкций UPDATE используйте любую из следующих инструкций. <ul>li/li>><<#update(String, ContentValues, String, String[])/li>#updateWithOnConflict(String, ContentValues, String, String[], int)</li></ul<>
Для инструкций DELETE используйте любую из следующих инструкций. <ul>li/li><><#delete(String, String, String[])/ul<>
Например, ниже приведены хорошие кандидаты на использование этого метода: <ul><li>ALTER TABLE</<>>li CREATE или DROP table/ trigger/ view / index/ virtual table</<>>li REINDEX</li RELEASE/<<>><>>li LI SAVEPOINT</<>li li PRAGMA, который возвращает данные</li/li>/li></ul>
При использовании #enableWriteAheadLogging()journal_mode автоматически управляется этим классом. Поэтому не устанавливайте journal_mode с помощью инструкции PRAGMA journal_mode'value<>, если приложение используется#enableWriteAheadLogging()
Обратите внимание, что PRAGMA значения, которые применяются на основе каждого подключения, не должны><<> быть настроены с помощью этого метода. Вместо этого следует использовать#execPerConnectionSQL, чтобы обеспечить равномерное применение всех текущих и будущих подключений.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Применяется к
ExecSQL(String)
Выполните одну инструкцию SQL, которая не является инструкцией SELECT или любой другой инструкцией SQL, которая возвращает данные.
[Android.Runtime.Register("execSQL", "(Ljava/lang/String;)V", "GetExecSQL_Ljava_lang_String_Handler")]
public virtual void ExecSQL (string? sql);
[<Android.Runtime.Register("execSQL", "(Ljava/lang/String;)V", "GetExecSQL_Ljava_lang_String_Handler")>]
abstract member ExecSQL : string -> unit
override this.ExecSQL : string -> unit
Параметры
- sql
- String
Инструкция SQL, выполняемая. Несколько операторов, разделенных точкой с запятой, не поддерживаются.
- Атрибуты
Исключения
Значение , если строка SQL недопустима
Комментарии
Выполните одну инструкцию SQL, которая не является инструкцией SELECT или любой другой инструкцией SQL, которая возвращает данные.
Он не имеет никаких средств для возврата данных (например, количество затронутых строк). Вместо этого рекомендуется использовать #insert(String, String, ContentValues), #update(String, ContentValues, String, String[])и т. д. по возможности.
При использовании #enableWriteAheadLogging()journal_mode автоматически управляется этим классом. Поэтому не устанавливайте journal_mode с помощью инструкции PRAGMA journal_mode'value<>, если приложение используется#enableWriteAheadLogging()
Обратите внимание, что PRAGMA значения, которые применяются на основе каждого подключения, не должны><<> быть настроены с помощью этого метода. Вместо этого следует использовать#execPerConnectionSQL, чтобы обеспечить равномерное применение всех текущих и будущих подключений.
Документация по Java для android.database.sqlite.SQLiteDatabase.execSQL(java.lang.String).
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.