SQLiteDatabase.ExecSQL 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 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 屬性授權中所述的詞彙使用。