Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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?
İlgili Fonksiyonlar
| 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 |