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
Özet
SQLGetCursorName, belirli bir ifadeyle ilişkili imleç adını döndürür.
Syntax
SQLRETURN SQLGetCursorName(
SQLHSTMT StatementHandle,
SQLCHAR * CursorName,
SQLSMALLINT BufferLength,
SQLSMALLINT * NameLengthPtr);
Arguments
StatementHandle
[Giriş] Deyim tanıtıcısı.
CursorName
[Çıkış] İmleç adını geri dönmek için bir tampona işaret eder.
Eğer CursorName NULL ise, NameLengthPtr yine de CursorName tarafından işaret edilen tamponda döndürülebilecek toplam karakter sayısını (karakter verisi için null-sonlandırma karakteri hariç) döndürecektir.
BufferLength
[Giriş] *CursorName'in uzunluğu, karakter olarak.
NameLengthPtr
[Çıkış] *CursorName'de döndürülebilecek toplam karakter sayısını (null-sonlandırma karakteri hariç) döndürmek için belleğe işaretçi. Döndürülebilecek karakter sayısı BufferLength'den büyük veya eşitse, *CursorName içindeki imleç adı BufferLength olarak kısaltılır, eksik null-sonlandırma karakterinin uzunluğu.
İadeler
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR veya SQL_INVALID_HANDLE.
Diagnostics
SQLGetCursorName SQL_ERROR veya SQL_SUCCESS_WITH_INFO döndürdüğünde, ilişkili bir SQLSTATE değeri alınabilir; bu değer SQLGetDiagRec ile SQL_HANDLE_STMT HandleType ve HandleType ile StatementHandle ile alınabilir. Aşağıdaki tablo, SQLGetCursorName tarafından sıkça döndürülen 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.) |
| 01004 | Dize verileri, sağ kesilmiş | *CursorName tamponu tüm imleç adını geri döndürecek kadar büyük değildi, bu yüzden imleç adı kısaltıldı. Kesitlenmemiş imleç adının uzunluğu *NameLengthPtr. içinde geri döner. (İşlev SQL_SUCCESS_WITH_INFO döndürür.) |
| 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ı tanıtıcısı için zaman uyumsuz olarak yürütülen bir işlev çağrıldı. Bu asenkron fonksiyon SQLGetCursorName 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) 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. |
| HY015 | İmleç adı mevcut değil | (DM) Sürücü bir ODBC 2*.x* sürücüydü, ifadede açık imleç yoktu ve SQLSetCursorName ile bir imleç adı adanmamıştı. |
| HY090 | Geçersiz dize veya arabellek uzunluğu | (DM) BufferLength argümanında belirtilen değer 0'dan küçüktü. |
| 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
İmleç adları yalnızca konumlanmış güncelleme ve silme ifadelerinde kullanılır (örneğin, UPDATEtablo-adı ... WHERE CURRENTİmleç adı). Daha fazla bilgi için Konumlanmış Güncelleme ve Silme Açıklamaları bölümünü inceleyebilirsiniz. Uygulama bir imleç adı tanımlamak için SQLSetCursorName çağırmazsa, sürücü bir isim oluşturur. Bu isim SQL_CUR harfleriyle başlar.
Uyarı
ODBC 2*.x*'de, açık imleç yokken ve SQLSetCursorName çağrısıyla bir isim belirlenmediğinde, SQLGetCursorName çağrısı SQLSTATE HY015 dönerdi (İmleç adı mevcut değil). ODBC 3*.x*'de bu artık geçerli değildir; SQLGetCursorName ne zaman çağrıldığı fark edilsin, sürücü imleç adını döndürür.
SQLGetCursorName , ismin açık ya da örtük olarak oluşturulmasına bakılmaksızın imlecin adını döndürür. SQLSetCursorName çağrılmazsa imleç adı örtük olarak oluşturulur. SQLSetCursorName , bir ifadede imleci tahsis edilmiş veya hazırlanmış durumda olduğu sürece yeniden adlandırmak için çağrılabilir.
Açık veya örtük olarak ayarlanan bir imleç adı, ilişkilendirildiği StatementHandle kaldırılana kadar ayarlı kalır; SQLFreeHandle ile SQL_HANDLE_STMT HandleType kullanılır.
İlgili Fonksiyonlar
| Hakkında bilgi için | Bkz: |
|---|---|
| SQL ifadesinin yürütülmesi | SQLExecDirect Fonksiyonu |
| Hazırlanmış bir SQL deyimini yürütme | SQLExecute İşlevi |
| Bir deyimi yürütme için hazırlama | SQLPrepare İşlevi |
| İmleç adı ayarlama | SQLSetCursorName İşlevi |