Sprache

SQLiteDatabase.ExecSQL Methode

Definition

Überlädt

Name Beschreibung
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.

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 von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

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 geeigneten 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 von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: