Fungsi SQLCloseCursor
Kesesuaian
Versi Diperkenalkan: Kepatuhan Standar ODBC 3.0: ISO 92
Ringkasan
SQLCloseCursor menutup kursor yang telah dibuka pada pernyataan dan membuang hasil yang tertunda.
Sintaks
SQLRETURN SQLCloseCursor(
SQLHSTMT StatementHandle);
Argumen
StatementHandle
[Input] Handel pernyataan.
Kembali
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR, atau SQL_INVALID_HANDLE.
Diagnostik
Ketika SQLCloseCursor mengembalikan SQL_ERROR atau SQL_SUCCESS_WITH_INFO, nilai SQLSTATE terkait dapat diperoleh dengan memanggil SQLGetDiagRec dengan HandleType SQL_HANDLE_STMT dan Handle of StatementHandle. Tabel berikut mencantumkan nilai SQLSTATE yang umumnya dikembalikan oleh SQLCloseCursor dan menjelaskan masing-masing dalam konteks fungsi ini; notasi "(DM)" mendahului deskripsi SQLSTATEs yang dikembalikan oleh Driver Manager. Kode pengembalian yang terkait dengan setiap nilai SQLSTATE SQL_ERROR, kecuali disebutkan sebaliknya.
SQLSTATE | Kesalahan | Deskripsi |
---|---|---|
01000 | Peringatan umum | Pesan informasi khusus driver. (Fungsi mengembalikan SQL_SUCCESS_WITH_INFO.) |
24000 | Status kursor tidak valid | Tidak ada kursor yang terbuka pada StatementHandle. (Ini hanya dikembalikan oleh ODBC 3.x driver.) |
HY000 | Kesalahan umum | Terjadi kesalahan yang tidak ada SQLSTATE tertentu dan tidak ada SQLSTATE khusus implementasi yang ditentukan. Pesan kesalahan yang dikembalikan oleh SQLGetDiagRec di buffer *MessageText menjelaskan kesalahan dan penyebabnya. |
HY001 | Kesalahan alokasi memori | Driver tidak dapat mengalokasikan memori yang diperlukan untuk mendukung eksekusi atau penyelesaian fungsi. |
HY010 | Kesalahan urutan fungsi | (DM) Fungsi eksekusi asinkron dipanggil untuk handel koneksi yang terkait dengan StatementHandle dan masih dijalankan ketika fungsi ini dipanggil. (DM) Fungsi eksekusi asinkron dipanggil untuk StatementHandle dan masih dijalankan ketika fungsi ini dipanggil. (DM) SQLExecute, SQLExecDirect, SQLBulkOperations, atau SQLSetPos dipanggil untuk StatementHandle dan dikembalikan SQL_NEED_DATA. Fungsi ini dipanggil sebelum data dikirim untuk semua parameter atau kolom data-at-execution. |
HY013 | Kesalahan manajemen memori | Panggilan fungsi tidak dapat diproses karena objek memori yang mendasar tidak dapat diakses, mungkin karena kondisi memori yang rendah. |
HY117 | Koneksi ditangguhkan karena status transaksi yang tidak diketahui. Hanya fungsi putuskan sambungan dan baca-saja yang diizinkan. | (DM) Untuk informasi selengkapnya tentang status ditangguhkan, lihat Fungsi SQLEndTran. |
HYT01 | Kesalahan waktu habis koneksi kedaluwarsa | Periode batas waktu koneksi kedaluwarsa sebelum sumber data merespons permintaan. Periode batas waktu koneksi diatur melalui SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT. |
IM001 | Driver tidak mendukung fungsi ini | (DM) Driver yang terkait dengan StatementHandle tidak mendukung fungsi. |
Komentar
SQLCloseCursor mengembalikan SQLSTATE 24000 (Status kursor tidak valid) jika tidak ada kursor yang terbuka. Memanggil SQLCloseCursor setara dengan memanggil SQLFreeStmt dengan opsi SQL_CLOSE, dengan pengecualian bahwa SQLFreeStmt dengan SQL_CLOSE tidak berpengaruh pada aplikasi jika tidak ada kursor yang terbuka pada pernyataan, sementara SQLCloseCursor mengembalikan SQLSTATE 24000 (Status kursor tidak valid).
Catatan
Jika ODBC 3.aplikasi x bekerja dengan ODBC 2. x driver memanggil SQLCloseCursor ketika tidak ada kursor yang terbuka, SQLSTATE 24000 (Status kursor tidak valid) tidak dikembalikan, karena Manajer Driver memetakan SQLCloseCursor ke SQLFreeStmt dengan SQL_CLOSE.
Untuk informasi selengkapnya, lihat Menutup Kursor.
Contoh Kode
Lihat Fungsi SQLBrowseConnect dan Fungsi SQLConnect.
Fungsi Terkait
Untuk informasi tentang | Lihat |
---|---|
Membatalkan pemrosesan pernyataan | Fungsi SQLCancel |
Mengosongkan handel | Fungsi SQLFreeHandle |
Memproses beberapa tataan hasil | Fungsi SQLMoreResults |