SQLiteDatabase.ExecSQL Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
| Nama | Deskripsi |
|---|---|
| ExecSQL(String) |
Jalankan satu pernyataan SQL yang BUKAN SELECT atau pernyataan SQL lainnya yang mengembalikan data. |
| ExecSQL(String, Object[]) |
Jalankan satu pernyataan SQL yang BUKAN SELECT/INSERT/UPDATE/DELETE. |
ExecSQL(String)
Jalankan satu pernyataan SQL yang BUKAN SELECT atau pernyataan SQL lainnya yang mengembalikan data.
[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
pernyataan SQL yang akan dijalankan. Beberapa pernyataan yang dipisahkan oleh titik koma tidak didukung.
- Atribut
Pengecualian
jika string SQL tidak valid
Keterangan
Jalankan satu pernyataan SQL yang BUKAN SELECT atau pernyataan SQL lainnya yang mengembalikan data.
Ini tidak memiliki cara untuk mengembalikan data apa pun (seperti jumlah baris yang terpengaruh). Sebagai gantinya, Anda dianjurkan untuk menggunakan #insert(String, String, ContentValues), , #update(String, ContentValues, String, String[])et al, jika memungkinkan.
Saat menggunakan #enableWriteAheadLogging(), journal_mode dikelola secara otomatis oleh kelas ini. Jadi, jangan atur journal_mode menggunakan pernyataan "PRAGMA journal_mode'value<>" jika aplikasi Anda menggunakan#enableWriteAheadLogging()
Perhatikan bahwa PRAGMA nilai yang berlaku per koneksi seharusnya <>tidak< dikonfigurasi> menggunakan metode ini; Anda harus menggunakan #execPerConnectionSQL untuk memastikan bahwa nilai tersebut diterapkan secara seragam ke semua koneksi saat ini dan di masa mendatang.
Java dokumentasi untuk android.database.sqlite.SQLiteDatabase.execSQL(java.lang.String).
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.
Berlaku untuk
ExecSQL(String, Object[])
Jalankan satu pernyataan SQL yang BUKAN SELECT/INSERT/UPDATE/DELETE.
[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
pernyataan SQL yang akan dijalankan. Beberapa pernyataan yang dipisahkan oleh titik koma tidak didukung.
- bindArgs
- Object[]
hanya byte[], String, Long dan Double yang didukung dalam bindArgs.
- Atribut
Pengecualian
jika string SQL tidak valid
Keterangan
Jalankan satu pernyataan SQL yang BUKAN SELECT/INSERT/UPDATE/DELETE.
Untuk pernyataan INSERT, gunakan salah satu hal berikut ini sebagai gantinya.
<ul><li#insert(String, String, ContentValues)<>/li><#insertOrThrow(String, String, ContentValues)></li><li#insertWithOnConflict(String, String, ContentValues, int)<>/li></ul>
Untuk pernyataan UPDATE, gunakan salah satu hal berikut sebagai gantinya.
<ul><li>#update(String, ContentValues, String, String[])</li#updateWithOnConflict(String, ContentValues, String, String[], int)<<>>/li></ul>
Untuk pernyataan DELETE, gunakan salah satu hal berikut ini sebagai gantinya.
<ul><li><#delete(String, String, String[])/li></ul>
Misalnya, berikut ini adalah kandidat yang baik untuk menggunakan metode ini: <ul><li>ALTER TABLE</li>><CREATE atau DROP table / trigger / view / index / virtual table</li<>>REINDEX</li li><>RELEASE</li SAVEPOINT<>></li li><>PRAGMA yang tidak mengembalikan data</li></ul>
Saat menggunakan #enableWriteAheadLogging(), journal_mode dikelola secara otomatis oleh kelas ini. Jadi, jangan atur journal_mode menggunakan pernyataan "PRAGMA journal_mode'value<>" jika aplikasi Anda menggunakan#enableWriteAheadLogging()
Perhatikan bahwa PRAGMA nilai yang berlaku per koneksi seharusnya <>tidak< dikonfigurasi> menggunakan metode ini; Anda harus menggunakan #execPerConnectionSQL untuk memastikan bahwa nilai tersebut diterapkan secara seragam ke semua koneksi saat ini dan di masa mendatang.
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.