SQLiteDatabase.ExecSQL Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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.
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.