SQLiteDatabase.ExecSQL 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| ExecSQL(String) |
執行一個不是 SELECT 或其他回傳資料的 SQL 陳述式。 |
| ExecSQL(String, Object[]) |
執行一個不是 SELECT/INSERT/UPDATE/DELETE 的 SQL 語句。 |
ExecSQL(String)
執行一個不是 SELECT 或其他回傳資料的 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 陳述式。
它無法回傳任何資料(例如受影響的列數)。 相反地,建議你盡可能使用 #insert(String, String, ContentValues)、 #update(String, ContentValues, String, String[])等。
使用 #enableWriteAheadLogging()時,journal_mode會自動由此類別管理。 所以,如果你的應用程式使用 “PRAGMA journal_mode'value” 陳述式,請不要用「PRAGMA '<value>」語句設定 journal_mode #enableWriteAheadLogging()
請注意,PRAGMA針對每個連線適用的值,不應<使用此方法配置 em></em>;你應該用 來#execPerConnectionSQL確保它們均勻套用於所有現有及未來的連線。
Java 文件 android.database.sqlite.SQLiteDatabase.execSQL(java.lang.String)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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")]
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[]
bindArg 僅支援位元組[]、字串、長字串和雙倍。
- 屬性
例外狀況
若 SQL 字串無效
備註
執行一個不是 SELECT/INSERT/UPDATE/DELETE 的 SQL 語句。
對於 INSERT 語句,請使用以下任一種。
<烏爾><李<#insert(String, String, ContentValues)>/李><李<>#insertOrThrow(String, String, ContentValues)/李><李#insertWithOnConflict(String, String, ContentValues, int)<>/李/烏爾><>
對於 UPDATE 語句,請改用以下任一。
<烏爾><·李><#update(String, ContentValues, String, String[])/李<>李<#updateWithOnConflict(String, ContentValues, String, String[], int)>/李/烏><爾>
對於 DELETE 語句,請改用以下任一。
<烏爾><里><#delete(String, String, String[])/里></烏爾>
例如,以下是使用此方法的良好候選範例:ul>li ALTER TABLE</li<>li CREATE>或 DROP table / trigger / view / index / virtual table</li<>li li>REINDEX</li<>li>LI RELEASE/<li<>li SAVEPOINT>/<li><li>返回無資料</li<>/ul 的 PRAGMA><<>
使用 #enableWriteAheadLogging()時,journal_mode會自動由此類別管理。 所以,如果你的應用程式使用 “PRAGMA journal_mode'value” 陳述式,請不要用「PRAGMA '<value>」語句設定 journal_mode #enableWriteAheadLogging()
請注意,PRAGMA針對每個連線適用的值,不應<使用此方法配置 em></em>;你應該用 來#execPerConnectionSQL確保它們均勻套用於所有現有及未來的連線。
Java 文件 android.database.sqlite.SQLiteDatabase.execSQL(java.lang.String, java.lang.Object[])。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。