共用方式為


SQLiteDatabase.ExecSQL 方法

定義

多載

ExecSQL(String, Object[])

執行不是 SELECT/INSERT/UPDATE/DELETE 的單一 SQL 語句。

ExecSQL(String)

執行非 SELECT 或任何其他傳回數據的 SQL 語句的單一 SQL 語句。

ExecSQL(String, Object[])

執行不是 SELECT/INSERT/UPDATE/DELETE 的單一 SQL 語句。

[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[]

bindArgs 僅支援 byte[]、String、Long 和 Double。

屬性

例外狀況

如果 SQL 字串無效

備註

執行不是 SELECT/INSERT/UPDATE/DELETE 的單一 SQL 語句。

針對 INSERT 語句,請改用下列任一項。 <ul><li>#insert(String, String, ContentValues)</li><<#insertOrThrow(String, String, ContentValues)> li/li><>#insertWithOnConflict(String, String, ContentValues, int)< li/li></ul>

針對UPDATE語句,請改用下列任一項。 <ul><li><#update(String, ContentValues, String, String[])/li>#updateWithOnConflict(String, ContentValues, String, String[], int)><</li></ul>

針對 DELETE 語句,請改用下列任一項。 <ul><li>#delete(String, String, String[])</li></ul>

例如,以下是使用此方法的好候選專案:ul>li ALTER TABLE/li><LI>CREATE 或 DROP table< / trigger / view / index / virtual table</<>>li REINDEX</li li RELEASE</>><li SAVEPOINT>><</>><li PRAGMA,傳回 no data</><li/li/ul><<>

使用 #enableWriteAheadLogging()時,journal_mode會自動由這個類別管理。 因此,如果您的應用程式正在使用 ,請勿使用 「PRAGMA journal_mode」value<>」 語句來設定journal_mode#enableWriteAheadLogging()

請注意,PRAGMA每個連線套用的值應該<使用此方法來設定 em>/em>;<您應該改用 #execPerConnectionSQL 以確保它們會統一套用至所有目前和未來的連線。

android.database.sqlite.SQLiteDatabase.execSQL(java.lang.String, java.lang.Object[])Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

ExecSQL(String)

執行非 SELECT 或任何其他傳回數據的 SQL 語句的單一 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 字串無效

備註

執行非 SELECT 或任何其他傳回數據的 SQL 語句的單一 SQL 語句。

它沒有任何方法可以傳回任何數據(例如受影響的數據列數目)。 相反地,建議您盡可能使用 #insert(String, String, ContentValues)#update(String, ContentValues, String, String[])等 。

使用 #enableWriteAheadLogging()時,journal_mode會自動由這個類別管理。 因此,如果您的應用程式正在使用 ,請勿使用 「PRAGMA journal_mode」value<>」 語句來設定journal_mode#enableWriteAheadLogging()

請注意,PRAGMA每個連線套用的值應該<使用此方法來設定 em>/em>;<您應該改用 #execPerConnectionSQL 以確保它們會統一套用至所有目前和未來的連線。

android.database.sqlite.SQLiteDatabase.execSQL(java.lang.String)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於