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.
Not
Bu bilgiler MFC ODBC sınıfları için geçerlidir. MFC DAO sınıfları ile çalışıyorsanız DAO Yardımı'ndaki "Microsoft Jet Veritabanı Altyapısı SQL ve ANSI SQL Karşılaştırması" konusuna bakın.
Aşağıdaki tabloda ANSI SQL veri türleri C++ veri türleriyle eşlenmiştir. Bu, ODBC Programcı Başvurusu belgelerinin Ek D'de verilen C dil bilgilerini genişletmektedir. Sihirbazlar çoğu veri türü eşlemesini sizin için yönetir. Sihirbaz kullanmıyorsanız, alan değişim kodunu el ile yazmanıza yardımcı olması için eşleme bilgilerini kullanabilirsiniz.
C++ Veri Türlerine Eşlenen ANSI SQL Veri Türleri
| ANSI SQL veri türü | C++ veri türü |
|---|---|
| CHAR | CString |
| ONDALIK |
CString 1 |
| SMALLINT | int |
| GERÇEK | float |
| TAM SAYI | long |
| FLOAT | double |
| ÇİFT | double |
| SAYISAL |
CString 1 |
| VARCHAR | CString |
| LONGVARCHAR |
CLongBinary, CString 2 |
| BİT | bool |
| TINYINT | BAYT |
| BIGINT |
CString 1 |
| İKİLİ | CByteArray |
| VARBINARY | CByteArray |
| LONGVARBINARY |
CLongBinary, CByteArray 3 |
| TARİH |
CTime, CString |
| SAAT |
CTime, CString |
| ZAMAN DAMGASI |
CTime, CString |
ANSI DECIMAL ve NUMERIC
CString'ya eşleniyor çünkü varsayılan ODBC aktarım türü SQL_C_CHAR'dır.255 karakteri aşan karakter verileri, varsayılan olarak
CStringile eşleştirildiğinde kesilir. kesme uzunluğunu, nMaxLength bağımsız değişkeniniRFX_Textaçıkça ayarlayarak genişletebilirsiniz.255 karakteri aşan ikili veriler, eşlendiğinde
CByteArrayvarsayılan olarak kesilir. Kesme uzunluğunu, nMaxLength bağımsız değişkeniniRFX_Binaryaçıkça ayarlayarak genişletebilirsiniz.
ODBC imleç kitaplığını kullanmıyorsanız, Microsoft SQL Server ODBC sürücüsünü ve MFC ODBC veritabanı sınıflarını kullanarak iki veya daha fazla uzun değişken uzunluklu alanı güncelleştirmeye çalışırken bir sorunla karşılaşabilirsiniz. SQL_LONGVARCHAR ve SQL_LONGVARBINARY ODBC türleri, metin ve görüntü SQL Server türleriyle eşler. Aynı CRecordset::Update çağrısında iki veya daha fazla uzun değişken uzunluklu alanı güncelleştirirseniz bir CDBException atılır. Bu nedenle, ile CRecordset::Updateaynı anda birden çok uzun sütunu güncelleştirmayın. ODBC API'siyle SQLPutDataaynı anda birden çok uzun sütunu güncelleştirebilirsiniz. ODBC imleç kitaplığını da kullanabilirsiniz, ancak bu, imleçleri destekleyen ve imleç kitaplığına ihtiyaç duymayan SQL Server sürücüsü gibi sürücüler için önerilmez.
ODBC imleç kitaplığını MFC ODBC veritabanı sınıflarıyla ve Microsoft SQL Server ODBC sürücüsüyle kullanıyorsanız, CRecordset::Requery için bir çağrıyı takip eden bir CRecordset::Update çağrısı olduğunda bir ASSERT ve bir CDBException oluşabilir. Bunun yerine CRecordset::Requery yerine CRecordset::Close ve CRecordset::Open çağrılmalıdır. SQL Server ve SQL Server ODBC sürücüsü imleçler için yerel olarak yerel destek sağladığından ve ODBC imleç kitaplığı gerekli olmadığından, başka bir çözüm ODBC imleç kitaplığını kullanmamaktır.