Teilen über


SQLiteDatabase.ExecSQL Methode

Definition

Überlädt

ExecSQL(String, Object[])

Führen Sie eine einzelne SQL-Anweisung aus, die KEINE SELECT/INSERT/UPDATE/DELETE ist.

ExecSQL(String)

Führen Sie eine einzelne SQL-Anweisung aus, bei der es sich nicht um eine SELECT- oder eine andere SQL-Anweisung handelt, die Daten zurückgibt.

ExecSQL(String, Object[])

Führen Sie eine einzelne SQL-Anweisung aus, die KEINE SELECT/INSERT/UPDATE/DELETE ist.

[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

Parameter

sql
String

die auszuführende SQL-Anweisung. Mehrere durch Semikolons getrennte Anweisungen werden nicht unterstützt.

bindArgs
Object[]

nur Byte[], String, Long und Double werden in bindArgs unterstützt.

Attribute

Ausnahmen

wenn die SQL-Zeichenfolge ungültig ist

Hinweise

Führen Sie eine einzelne SQL-Anweisung aus, die KEINE SELECT/INSERT/UPDATE/DELETE ist.

Verwenden Sie für INSERT-Anweisungen stattdessen eine der folgenden Anweisungen. <ul><li><#insert(String, String, ContentValues)/li><#insertOrThrow(String, String, ContentValues)<>/li/li>#insertWithOnConflict(String, String, ContentValues, int)<<>/li/ul><>

Verwenden Sie für UPDATE-Anweisungen stattdessen eine der folgenden Anweisungen. <ul><li>#update(String, ContentValues, String, String[])</li/li>#updateWithOnConflict(String, ContentValues, String, String[], int)<<>/li/ul><>

Verwenden Sie für DELETE-Anweisungen stattdessen eine der folgenden Anweisungen. <ul><li>#delete(String, String, String[])</li></ul>

Zum Beispiel sind die folgenden guten Kandidaten für die Verwendung dieser Methode: <ul><li>ALTER TABLE</li><>CREATE oder DROP table / trigger / view / index / virtual table</li><>REINDEX</li li<>>RELEASE</li li<>>SAVEPOINT</li li><>PRAGMA, die keine Daten</li/li></ul zurückgibt>

Bei Verwendung #enableWriteAheadLogging()wird journal_mode automatisch von dieser Klasse verwaltet. Legen Sie daher journal_mode nicht mithilfe der Anweisung "PRAGMA journal_mode'value<>" fest, wenn Ihre App verwendet wird.#enableWriteAheadLogging()

Beachten Sie, dass PRAGMA Werte, die pro Verbindung gelten, nicht</em> mithilfe dieser Methode konfiguriert werden sollten<>. Sie sollten stattdessen verwenden#execPerConnectionSQL, um sicherzustellen, dass sie einheitlich auf alle aktuellen und zukünftigen Verbindungen angewendet werden.

Java-Dokumentation für android.database.sqlite.SQLiteDatabase.execSQL(java.lang.String, java.lang.Object[]).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

ExecSQL(String)

Führen Sie eine einzelne SQL-Anweisung aus, bei der es sich nicht um eine SELECT- oder eine andere SQL-Anweisung handelt, die Daten zurückgibt.

[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

Parameter

sql
String

die auszuführende SQL-Anweisung. Mehrere durch Semikolons getrennte Anweisungen werden nicht unterstützt.

Attribute

Ausnahmen

wenn die SQL-Zeichenfolge ungültig ist

Hinweise

Führen Sie eine einzelne SQL-Anweisung aus, bei der es sich nicht um eine SELECT- oder eine andere SQL-Anweisung handelt, die Daten zurückgibt.

Es gibt keine Möglichkeit, Daten zurückzugeben (z. B. die Anzahl der betroffenen Zeilen). Stattdessen werden Sie empfohlen, nach Möglichkeit , , , #update(String, ContentValues, String, String[])et al. zu verwenden#insert(String, String, ContentValues).

Bei Verwendung #enableWriteAheadLogging()wird journal_mode automatisch von dieser Klasse verwaltet. Legen Sie daher journal_mode nicht mithilfe der Anweisung "PRAGMA journal_mode'value<>" fest, wenn Ihre App verwendet wird.#enableWriteAheadLogging()

Beachten Sie, dass PRAGMA Werte, die pro Verbindung gelten, nicht</em> mithilfe dieser Methode konfiguriert werden sollten<>. Sie sollten stattdessen verwenden#execPerConnectionSQL, um sicherzustellen, dass sie einheitlich auf alle aktuellen und zukünftigen Verbindungen angewendet werden.

Java-Dokumentation für android.database.sqlite.SQLiteDatabase.execSQL(java.lang.String).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: