Bagikan melalui


Fungsi JetDupCursor

Berlaku untuk: Windows | Windows Server

Fungsi JetDupCursor

Fungsi JetDupCursor menduplikasi kursor terbuka dan mengembalikan handel ke kursor duplikat. Jika kursor yang diduplikasi adalah kursor baca-saja, kursor duplikat juga merupakan kursor baca-saja. Status apa pun yang terkait dengan pembuatan kunci pencarian atau memperbarui rekaman tidak disalin ke dalam kursor duplikat. Selain itu, lokasi kursor asli tidak diduplikasi ke dalam kursor duplikat. Kursor duplikat selalu dibuka pada indeks berkluster dan lokasinya selalu berada di baris pertama tabel.

    JET_ERR JET_API JetDupCursor(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         JET_TABLEID* ptableid,
      __in          JET_GRBIT grbit
    );

Parameter

sesid

Sesi yang digunakan untuk panggilan ini.

tableid

Kursor yang digunakan untuk panggilan ini.

ptableid

Pointer ke tableid.

grbit

Disiapkan untuk penggunaan masa mendatang.

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_errClientRequestToStopJetService

Tidak dimungkinkan untuk menyelesaikan operasi karena semua aktivitas pada instans yang terkait dengan sesi telah berhenti sebagai akibat dari panggilan ke JetStopService.

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_errNotInitialized

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi belum diinisialisasi.

JET_errOutOfCursors

Tidak ada sumber daya kursor yang tersedia.

JET_errRestoreInProgress

Tidak dimungkinkan untuk menyelesaikan operasi karena operasi pemulihan sedang berlangsung pada instans yang terkait dengan sesi.

JET_errSessionSharingViolation

Sesi yang sama tidak dapat digunakan untuk 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.

Setelah berhasil, ptableid diatur ke kursor duplikat.

Jika gagal, tidak ada perubahan yang dilakukan. Status tableid tidak berubah.

Keterangan

Kursor duplikat tidak memiliki seluruh status kursor yang disalin. Lokasi kursor duplikat, termasuk indeks saat ini, biasanya berbeda dari kursor yang diberikan. Kursor duplikat selalu dikembalikan pada indeks berkluster dan pada baris pertama dalam tabel. Jika tabel kosong, kursor duplikat tidak berada di baris apa pun.

Tabel yang dibuka dengan JetDupCursor biasanya harus ditutup dengan JetCloseTable. Pengecualian untuk aturan ini terjadi ketika JetDupCursor dipanggil dalam transaksi dan transaksi digulung balik (dengan JetRollback). Saat menggulung balik transaksi, kursor ditutup secara otomatis. Dalam hal ini, ini adalah kesalahan untuk menutup tabel dengan JetCloseTable.

Jumlah tabel yang dapat dibuka secara bersamaan dipengaruhi langsung oleh JET_paramMaxOpenTables. Lihat Parameter Sistem untuk detailnya.

Persyaratan

Persyaratan Nilai

Klien

Memerlukan 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_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetRollback
JetStopService
Parameter Sistem