Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kesesuaian
Versi yang diperkenalkan: Kepatuhan standar ODBC 3.8: Tidak ada
Summary
SQLCompleteAsync dapat digunakan untuk menentukan kapan fungsi asinkron selesai menggunakan pemrosesan berbasis notifikasi atau polling. Untuk informasi lebih lanjut tentang operasi asinkron, lihat Eksekusi Asinkron.
SQLCompleteAsync hanya diimplementasikan di ODBC Driver Manager.
Dalam mode pemrosesan asinkron berbasis notifikasi, SQLCompleteAsync harus dipanggil setelah Driver Manager menaikkan objek event yang digunakan untuk notifikasi. SQLCompleteAsync menyelesaikan pemrosesan asinkron dan fungsi asinkron akan menghasilkan kode pengembalian.
Dalam mode pemrosesan asinkron berbasis polling, SQLCompleteAsync adalah alternatif dari memanggil fungsi asinkron asli, tanpa perlu menentukan argumen dalam panggilan fungsi asinkron asli. SQLCompleteAsync dapat digunakan terlepas dari apakah ODBC Cursor Library diaktifkan atau tidak.
Syntax
SQLRETURN SQLCompleteAsync(
SQLSMALLINT HandleType,
SQLHANDLE Handle,
RETCODE * AsyncRetCodePtr);
Arguments
HandleType
[Input] Jenis pegangan untuk menyelesaikan pemrosesan asinkron. Nilai yang valid adalah SQL_HANDLE_DBC atau SQL_HANDLE_STMT.
Handel
[Input] Pegangan untuk menyelesaikan pemrosesan asinkron. Jika Handle bukan handle valid dari tipe yang ditentukan oleh HandleType, SQLCompleteAsync mengembalikan SQL_INVALID_HANDLE.
Jika Handle bukan handle valid dari tipe yang ditentukan oleh HandleType, SQLCompleteAsync mengembalikan SQL_INVALID_HANDLE.
AsyncRetCodePtr
[Output] Penunjuk ke buffer yang akan berisi kode pengembalian API asinkron. Jika AsyncRetCodePtr NULL, SQLCompleteAsync mengembalikan SQL_ERROR.
Returns
SQL_SUCCESS, SQL_ERROR, SQL_NO_DATA, atau SQL_INVALID_HANDLE.
Diagnostics
Jika SQLCompleteAsync mengembalikan SQL_SUCCESS, sebuah aplikasi harus mendapatkan kode pengembalian fungsi asinkron dari buffer yang ditunjuk oleh AsyncRetCodePtr. SQLSTATE yang terkait, jika ada, dapat diperoleh dengan memanggil SQLGetDiagRec dengan HandleType dari SQL_HANDLE_STMT dan handle pernyataan atau HandleType dari SQL_HANDLE_DBC dan handle koneksi. Catatan diagnostik tersebut terkait dengan fungsi asinkron, bukan fungsi SQLCompleteAsync ini.
SQLCompleteAsync mengembalikan kode selain SQL_SUCCESS untuk menunjukkan bahwa SQLCompleteAsync tidak dipanggil dengan benar. SQLCompleteAsync tidak akan memposting catatan diagnostik apa pun dalam kasus ini. Kode pengembalian yang mungkin adalah:
SQL_INVALID_HANDLE: Pegangan yang ditunjukkan oleh HandleType dan Handle bukanlah handle yang valid.
SQL_ERROR: AsyncRetCodePtr NULL atau pemrosesan asinkron tidak diaktifkan pada handle.
SQL_NO_DATA: Dalam mode notifikasi, operasi asinkron tidak sedang berlangsung atau Driver Manager belum memberi tahu aplikasi. Dalam mode polling, operasi asinkron tidak sedang berlangsung.
Komentar
Dalam mode pemrosesan asinkron berbasis polling, AsyncRetCodePtr mungkin SQL_STILL_EXECUTING saat SQLCompleteAsync mengembalikan SQL_SUCCESS. Aplikasi harus terus melakukan polling sampai AsyncRetCodePtr tidak SQL_STILL_EXECUTING. Dalam mode pemrosesan asinkron berbasis notifikasi, AsyncRetCodePtr tidak akan pernah SQL_STILL_EXECUTING.