SQLCloseCursor İşlevi

Uygunluk
Tanıtılan Sürüm: ODBC 3.0 Standartlarına Uyum: ISO 92

Summary
SQLCloseCursor, bir özet üzerinde açılan bir imleci kapatır ve bekleyen sonuçları atar.

Syntax

  
SQLRETURN SQLCloseCursor(  
     SQLHSTMT     StatementHandle);  

Arguments

StatementHandle
[Giriş] Deyim tanıtıcısı.

İadeler

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR veya SQL_INVALID_HANDLE.

Diagnostics

SQLCloseCursor SQL_ERROR veya SQL_SUCCESS_WITH_INFO döndürdüğünde, ilişkili bir SQLSTATE değeri SQLGetDiagRec çağrılarak SQL_HANDLE_STMT HandleType ve HandleHandle ile elde edilebilir. Aşağıdaki tablo, SQLCloseCursor tarafından sıkça duygulanan SQLSTATE değerlerini listeler ve her birini bu fonksiyonun bağlamında açıklar; "(DM)" gösterimi, Sürücü Yöneticisi tarafından döndürülen SQLSTATE açıklamalarından önce gelir. Aksi belirtilmediği sürece, her SQLSTATE değeriyle ilişkili dönüş kodu SQL_ERROR.

SQLSTATE Error Description
01000 Genel uyarı Sürücüye özgü bilgilendirici ileti. (İşlev SQL_SUCCESS_WITH_INFO döndürür.)
24000 Geçersiz imleç durumu StatementHandle'da açık bir imleç yoktu. (Bu sadece ODBC 3 tarafından geri döner. x sürücü.)
HY000 Genel hata Belirli bir SQLSTATE olmayan ve uygulamaya özgü SQLSTATE tanımlanmayan bir hata oluştu. *MessageText arabelleğinde SQLGetDiagRec tarafından döndürülen hata iletisi, hatayı ve nedenini açıklar.
HY001 Bellek ayırma hatası Sürücü, işlevin yürütülmesini veya tamamlanmasını desteklemek için gereken belleği ayıramadı.
HY010 İşlev dizisi hatası (DM) StatementHandle ile ilişkili bağlantı kolu için asenkron olarak çalışan bir fonksiyon çağrıldı ve bu fonksiyon çağrıldığında hâlâ çalışıyordu.

(DM) StatementHandle için asenkron olarak çalışan bir fonksiyon çağrıldı ve bu fonksiyon çağrıldığında hâlâ çalışıyordu.

(DM) SQLExecute, SQLExecDirect, SQLBulkOperations veya SQLSetPos, StatementHandle için çağrıldı ve SQL_NEED_DATA döndürdü. Bu işlev, tüm yürütme sırasında veri parametreleri veya sütunları için veri gönderilmeden önce çağrıldı.
HY013 Bellek yönetimi hatası Büyük olasılıkla düşük bellek koşulları nedeniyle, temel alınan bellek nesnelerine erişilemediğinden işlev çağrısı işlenemedi.
HY117 Bilinmeyen işlem durumu nedeniyle bağlantı askıya alındı. Yalnızca bağlantıyı kesme ve salt okunur işlevlere izin verilir. (DM) Askıya alınma durumu hakkında daha fazla bilgi için bkz. SQLEndTran İşlevi.
HYT01 Bağlantı zaman aşımı süresi doldu Veri kaynağı isteği yanıtlamadan önce bağlantı zaman aşımı süresi doldu. Bağlantı zaman aşımı süresi SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT aracılığıyla ayarlanır.
IM001 Sürücü bu işlevi desteklemiyor (DM) StatementHandle ile ilişkili sürücü işlevi desteklemiyor.

Comments

SQLCloseCursor, açık bir imleç yoksa SQLSTATE 24000 (Geçersiz imleç durumu) döndürür. SQLCloseCursor'u çağırmak, SQLFreeStmt'yi SQL_CLOSE seçeneğiyle çağırmakla eşdeğerdir; ancak SQL_CLOSE ile SQLFreeStmt'nin uygulama üzerinde açık bir imleç yoksa uygulama üzerinde etkisi yoktur, SQLCloseCursor ise SQLSTATE 24000 (Geçersiz imleç durumu) döndürür.

Note

Eğer ODBC 3. x uygulaması ODBC 2 ile çalışıyor. x sürücüsü, açık olmayan bir imleç olmadığında SQLCloseCursor'u çağırır, SQLSTATE 24000 (Geçersiz imleç durumu) geri dönmez, çünkü Sürücü Yöneticisi SQLCloseCursor'uSQLFreeStmt ile SQL_CLOSE ile eşler.

Daha fazla bilgi için Kapatma İmleci sayfasına bakınız.

Kod Örneği

SQLBrowseConnect fonksiyonu ve SQLConnect fonksiyonuna bakınız.

Hakkında bilgi için Bkz:
Deyim işlemeyi iptal etme SQLCancel İşlevi
Bir sapı serbest bırakmak SQLFreeHandle Fonksiyonu
Birden fazla sonuç kümesi işleme SQLMoreResults Function