SQLNumResultCols İşlevi

Uygunluk
Kullanıma Sunulan Sürüm: ODBC 1.0 Standartları Uyumluluğu: ISO 92

Summary
SQLNumResultCols, bir sonuç kümesindeki sütun sayısını döndürür.

Syntax

  
SQLRETURN SQLNumResultCols(  
     SQLHSTMT        StatementHandle,  
     SQLSMALLINT *   ColumnCountPtr);  

Arguments

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

ColumnCountPtr
[Çıkış] Sonuç kümesindeki sütun sayısını döndürmek için bir tampona işaretçi. Bu sayım, ciltli bir yer imi sütunu içermez.

İadeler

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_STILL_EXECUTING, SQL_ERROR ya da SQL_INVALID_HANDLE.

Diagnostics

SQLNumResultCols SQL_ERROR veya SQL_SUCCESS_WITH_INFO döndürdüğünde, ilişkili bir SQLSTATE değeri, SQL_HANDLE_STMT HandleType ve StatementHandleile SQLGetDiagRec çağrılarak elde edilebilir. Aşağıdaki tablo, SQLNumResultCols 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.)
08S01 İletişim bağlantısı hatası sürücü ile sürücünün bağlandığı veri kaynağı arasındaki iletişim bağlantısı, işlev işlenmeden önce başarısız oldu.
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ı.
HY008 İşlem iptal edildi StatementHandle için zaman uyumsuz işleme etkinleştirildi. Fonksiyon çağrıldı ve çalıştırma tamamlanmadan önce StatementHandleüzerinde SQLCancel veya SQLCancelHandle çağrıldı; fonksiyon daha sonra StatementHandle üzerinde tekrar çağrıldı.

İşlev çağrıldı ve yürütme tamamlanmadan önce, çok iş parçacıklı bir uygulamadaki farklı bir iş parçacığından StatementHandle üzerinde SQLCancel veya SQLCancelHandle çağrıldı.
HY010 İşlev dizisi hatası (DM) StatementHandle ile ilişkili bağlantı tanıtıcısı için zaman uyumsuz olarak yürütülen bir işlev çağrıldı. Bu asenkron fonksiyon SQLNumResultsCols fonksiyonu çağrıldığında hâlâ çalışıyordu.

(DM) SQLExecute, SQLExecDirect veya SQLMoreResults, StatementHandle için çağrıldı ve SQL_PARAM_DATA_AVAILABLE döndürdü. Bu işlev, tüm akış parametreleri için veri alınmadan önce çağrıldı.

(DM) Fonksiyon, StatementHandleiçin SQLPrepare veya SQLExecDirect çağrılmadan önce çağrılmıştır.

(DM) StatementHandle için zaman uyumsuz olarak yürütülen bir işlev (bu işlev değil) çağrıldı ve bu işlev çağrıldığında hala yürütülü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ı.

Bir ifade tutamacının ne zaman serbest bırakılabileceğine dair detaylar için SQLPrepare Fonksiyonu'na bakınız.
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.
IM017 Yoklama zaman uyumsuz bildirim modunda devre dışı bırakıldı Bildirim modeli her kullanıldığında yoklama devre dışı bırakılır.
IM018 SQLCompleteAsync , bu tanıtıcıda önceki zaman uyumsuz işlemi tamamlamak için çağrılmadı. Tanıtıcıdaki önceki işlev çağrısı SQL_STILL_EXECUTING döndürüyorsa ve bildirim modu etkinleştirildiyse, son işlemeyi yapmak ve işlemi tamamlamak için tanıtıcıda SQLCompleteAsync çağrılmalıdır.

SQLNumResultCols, veri kaynağının ifadeyle ilişkili SQL ifadesini ne zaman değerlendirdiğine bağlı olarak, SQLPrepare veya SQLExecute tarafından çağrıldığında SQLPrepare veya SQLExecute tarafından döndürülebilecek herhangi bir SQLSTATE'i döndürebilir.

Comments

SQLNumResultCols , yalnızca ifade hazırlanmış, yürütülmüş veya konumlanmış durumdayken başarılı çağrılabilir.

StatementHandle ile ilişkili ifade sütun döndürmezse, SQLNumResultCols *ColumnCountPtr'i 0 olarak ayarlar.

SQLNumResultCols tarafından döndürülen sütun sayısı, IRD'nin SQL_DESC_COUNT alanıyla aynı değerdir.

Daha fazla bilgi için bkz. Sonuç Seti Oluşturuldu mu? ve Meta Veri Nasıl Kullanılır?

Hakkında bilgi için Bkz:
Sonuç kümesindeki bir sütuna arabellek bağlama SQLBindCol İşlevi
Deyim işlemeyi iptal etme SQLCancel İşlevi
Sonuç kümesindeki bir sütunla ilgili bilgi döndürme SQLColAttribute Fonksiyonu
Sonuç kümesindeki bir sütunla ilgili bilgi döndürme SQLDescribeCol Fonksiyonu
SQL ifadesinin yürütülmesi SQLExecDirect Fonksiyonu
Hazırlanmış bir SQL deyimini yürütme SQLExecute İşlevi
Veri bloğunu getirme veya sonuç kümesinde kaydırma SQLFetchScroll İşlevi
Tek bir satır veya veri bloğunu sadece ileri yönde almak SQLFetch İşlevi
Veri sütununun bir bölümünü veya tamamını getirme SQLGetData İşlevi
Yürütme için SQL ifadesi hazırlamak SQLPrepare İşlevi
İmleç kaydırma seçeneklerini ayarlama SQLSetStmtAttr İşlevi