Fungsi JetDelete
Berlaku untuk: Windows | Windows Server
Fungsi JetDelete
Fungsi JetDelete menghapus rekaman saat ini dalam tabel database.
JET_ERR JET_API JetDelete(
__in JET_SESID sesid,
__in JET_TABLEID tableid
);
Parameter
sesid
Konteks sesi database yang akan digunakan untuk panggilan API.
tableid
Kursor pada tabel database. Baris saat ini akan dihapus.
Tampilkan Nilai
Fungsi ini mengembalikan jenis data JET_ERR dengan salah satu kode pengembalian berikut. Untuk informasi selengkapnya tentang kemungkinan kesalahan ESE, lihat Kesalahan Mesin Penyimpanan yang Dapat Diperluas dan Parameter Penanganan Kesalahan.
Menampilkan kode |
Deskripsi |
---|---|
JET_errSuccess |
Operasi berhasil diselesaikan. |
JET_errCallbackFailed |
Fungsi panggilan balik gagal dalam beberapa cara. Misalnya, pelanggaran akses dalam fungsi panggilan balik ditangkap dan diterjemahkan ke dalam JET_errCallbackFailed. Kesalahan ini hanya akan dikembalikan oleh Windows XP dan yang lebih baru. |
JET_errClientRequestToStopJetService |
Tidak mungkin untuk menyelesaikan operasi karena semua aktivitas pada instans yang terkait dengan sesi telah berhenti sebagai akibat dari panggilan ke JetStopService. |
JET_errIllegalOperation |
Kursor yang ditentukan oleh tableid tidak mendukung penghapusan. Lihat bagian Keterangan. |
JET_errInstanceUnavailable |
Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi telah mengalami kesalahan fatal yang mengharuskan akses ke semua data dicabut untuk melindungi integritas data tersebut. Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru. |
JET_errNoCurrentRecord |
Kursor yang ditentukan oleh tableid tidak ada di rekaman. |
JET_errNotInitialized |
Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi belum diinisialisasi. |
JET_errRestoreInProgress |
Tidak dimungkinkan untuk menyelesaikan operasi karena operasi pemulihan sedang berlangsung pada instans yang terkait dengan sesi. |
JET_errPermissionDenied |
Mesin database tidak memiliki izin yang memadai untuk menghapus rekaman. Ini mungkin terjadi jika file database dibuka dengan akses baca-saja. |
JET_errRollbackError |
Buffer pembaruan (lihat JetPrepareUpdate) ada, tetapi tidak semua perubahan yang dilakukan pada kolom jenis JET_coltypLongText dan/atau kolom jenis JET_coltypLongBinary dapat digulung balik. |
JET_errSessionSharingViolation |
Adalah ilegal untuk menggunakan sesi yang sama dari lebih dari satu utas secara bersamaan. Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru. |
JET_errTermInProgress |
Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi sedang dimatikan. |
JET_errTransReadOnly |
Transaksi adalah transaksi baca-saja, dan tidak mendukung penghapusan. |
JET_errVersionStoreOutOfMemory |
Operasi gagal karena tidak ada cukup memori untuk menyimpan informasi transaksi tentang pembaruan. |
JET_errWriteConflict |
Sesi lain sebelumnya telah mengunci rekaman untuk pembaruan. Pembaruan yang dicoba oleh sesi ini akan gagal. |
Jika berhasil, mata uang dibiarkan tepat sebelum catatan berikutnya. Jika rekaman yang dihapus adalah yang terakhir dalam tabel, mata uang dibiarkan di akhir tabel (yaitu, setelah rekaman terakhir baru). Jika rekaman yang dihapus adalah satu-satunya rekaman dalam tabel, mata uang diatur ke awal.
Indeks yang sesuai diperbarui secara otomatis.
Jika pembaruan disiapkan (menggunakan JetPrepareUpdate), pembaruan akan dibatalkan. Buffer pembaruan akan direset.
Jika gagal, mata uang tetap tidak berubah. Jika pembaruan disiapkan (lihat JetPrepareUpdate), buffer pembaruan mungkin diatur ulang.
Keterangan
Tidak semua tabel mendukung penghapusan baris. Tabel sementara biasanya tidak mendukung penghapusan baris. Penghapusan rekaman dapat diaktifkan pada tabel sementara karena berbagai alasan, beberapa di antaranya adalah:
JET_bitTTUpdatable ditentukan selama pembuatan.
Tabel sementara besar dapat mendukung penghapusan jika dibuat dengan JET_bitTTScrollable atau JET_bitTTIndexed. Ambang di mana tabel sementara menjadi "besar" saat ini adalah 64 kilobyte, tetapi dapat diubah dalam rilis mendatang.
Windows XP dan yang lebih baru. Fungsi panggilan balik dapat dipanggil oleh JetDelete, termasuk JET_cbtypBeforeDelete dan JET_cbtypAfterDelete.
Penting untuk memahami dampak melakukan sejumlah besar operasi pembaruan di dalam satu transaksi. Setiap pembaruan ke database harus dilacak oleh mesin database di penyimpanan versi. Penyimpanan versi menyimpan rekaman langsung dari semua versi yang berbeda dari setiap rekaman atau entri indeks dalam database yang dapat dilihat oleh semua transaksi aktif. Versi ini digunakan untuk mendukung kontrol konkurensi multi-versi yang digunakan oleh mesin database untuk mendukung transaksi menggunakan isolasi rekam jepret. Setelah mesin database kelelahan, sumber daya yang digunakan untuk menyimpan versi ini maka tidak dapat lagi menerima perubahan lebih lanjut sampai beberapa transaksi telah menyimpulkan untuk memungkinkan sumber daya ini diklaim kembali. Ketika mesin dalam keadaan ini, semua pembaruan akan gagal dengan JET_errVersionStoreOutOfMemory. Sumber daya yang tersedia untuk mesin database untuk menyimpan versi ini dapat dikontrol menggunakan JetSetSystemParameter dengan JET_paramMaxVerPages dan JET_paramGlobalMinVerPages.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien |
Membutuhkan Windows Vista, Windows XP, atau Windows 2000 Professional. |
Server |
Memerlukan Windows Server 2008, Windows Server 2003, atau Windows 2000 Server. |
Header |
Dinyatakan dalam Esent.h. |
Pustaka |
Gunakan ESENT.lib. |
DLL |
Membutuhkan ESENT.dll. |
Lihat juga
JET_ERR
JET_SESID
JET_TABLEID
JetOpenTempTable
JetPrepareUpdate
Parameter Sistem
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk