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
SQLNumParams, bir SQL ifadesindeki parametre sayısını döndürür.
Syntax
SQLRETURN SQLNumParams(
SQLHSTMT StatementHandle,
SQLSMALLINT * ParameterCountPtr);
Arguments
StatementHandle
[Giriş] Deyim tanıtıcısı.
ParametreCountPtr
[Çıkış] Bir tampon işareti için ifade içindeki parametre sayısını döndürmek için kullanılır.
İadeler
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_STILL_EXECUTING, SQL_ERROR ya da SQL_INVALID_HANDLE.
Diagnostics
SQLNumParams 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, SQLNumParams tarafından sıkça duygulanan SQLSTATE değerlerini listeler ve her birini bu fonksiyon 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.
SQLNumParams fonksiyonu çağrıldı ve çalıştırma tamamlanmadan önce StatementHandleüzerinde SQLCancel veya SQLCancelHandle çağrıldı; SQLNumParams fonksiyonu ise StatementHandle üzerinde tekrar çağrıldı. Ya da, SQLNumParams fonksiyonu çağrılır ve çalıştırma tamamlanmadan önce, çok iplik uygulamasında farklı bir iş parçacığından StatementHandleüzerinde SQLCancel veya SQLCancelHandle çağrılırdı. |
| HY010 | İşlev dizisi hatası | (DM) Fonksiyon, StatementHandleiçin SQLPrepare veya SQLExecDirect çağrılmadan önce çağrılmıştır. (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 SQLNumParams fonksiyonu çağrıldığında hâlâ çalışıyordu. (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ı. |
| 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ınmış durum hakkında daha fazla bilgi için SQLEndTran Fonksiyonu'na bakınız. |
| 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. |
Comments
SQLNumParams yalnızca SQLPrepare çağrıldıktan sonra çağrılabilir.
StatementHandle ile ilişkili ifade parametre içermiyorsa, SQLNumParams *ParameterCountPtr'yi 0'a ayarlar.
SQLNumParams tarafından döndürülen parametre sayısı, IPD'nin SQL_DESC_COUNT alanıyla aynı değerdir.
Daha fazla bilgi için Parametreleri Tanımlama bölümüne bakınız.
İlgili Fonksiyonlar
| Hakkında bilgi için | Bkz: |
|---|---|
| Bir tamponu bir parametreye bağlama | SQLBindParameter Fonksiyonu |
| Bir ifadede bir parametre hakkında bilgi döndürülmesi | SQLDescribeParam Fonksiyonu |