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></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><>li PRAGMA,返回 no data</li li li<>/ul><<>

使用 #enableWriteAheadLogging()时,journal_mode由此类自动管理。 因此,如果你的应用正在使用,请不要使用“PRAGMA journal_mode'value<>”语句设置journal_mode#enableWriteAheadLogging()

请注意,PRAGMA每个连接应用的值不应<使用>><此方法进行配置;应改用#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每个连接应用的值不应<使用>><此方法进行配置;应改用#execPerConnectionSQL它们来确保它们统一应用于所有当前和将来的连接。

适用于 . 的 android.database.sqlite.SQLiteDatabase.execSQL(java.lang.String)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于