Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Catatan
Informasi ini berlaku untuk kelas MFC ODBC. Jika Anda bekerja dengan kelas MFC DAO, lihat topik "Perbandingan Microsoft Jet Database Engine SQL dan ANSI SQL" di Bantuan DAO.
Tabel berikut memetakan tipe data ANSI SQL ke jenis data C++. Ini menambah informasi bahasa C yang diberikan dalam Lampiran D dari dokumentasi Referensi Programmer ODBC. Wizard menangani sebagian besar pemetaan tipe data untuk Anda. Jika Anda tidak menggunakan wizard, Anda bisa menggunakan informasi pemetaan untuk membantu Anda menulis kode pertukaran bidang secara manual.
Tipe Data ANSI SQL Dipetakan ke Tipe Data C++
| Jenis data ANSI SQL | Jenis data C++ |
|---|---|
| CHAR | CString |
| DESIMAL |
CString 1 |
| SMALLINT | int |
| NYATA | float |
| BILANGAN BULAT | long |
| PECAHAN | double |
| DOBEL | double |
| NUMERIK |
CString 1 |
| VARCHAR | CString |
| LONGVARCHAR |
CLongBinary, CString 2 |
| BIT | BOOL |
| TINYINT | byte |
| BIGINT |
CString 1 |
| BINARY | CByteArray |
| VARBINARY | CByteArray |
| LONGVARBINARY |
CLongBinary, CByteArray 3 |
| TANGGAL |
CTime, CString |
| WAKTU |
CTime, CString |
| STEMPEL WAKTU |
CTime, CString |
ANSI DECIMAL dan NUMERIC memetakan ke
CStringkarena SQL_C_CHAR adalah jenis transfer ODBC default.Data karakter di luar 255 karakter dipotong secara default saat dipetakan ke
CString. Anda dapat memperpanjang panjang pemotongan dengan secara eksplisit mengatur argumen nMaxLength dariRFX_Text.Data biner di luar 255 karakter dipotong secara default saat dipetakan ke
CByteArray. Anda dapat memperpanjang panjang pemotongan dengan secara eksplisit mengatur argumen nMaxLength dariRFX_Binary.
Jika Anda tidak menggunakan pustaka kursor ODBC, Anda mungkin mengalami masalah saat mencoba memperbarui dua atau beberapa bidang panjang variabel yang panjang menggunakan driver ODBC Microsoft SQL Server dan kelas database MFC ODBC. Jenis ODBC, SQL_LONGVARCHAR dan SQL_LONGVARBINARY, dipetakan ke tipe teks dan image dalam SQL Server. Jika Anda memperbarui dua atau lebih bidang dengan panjang variabel pada panggilan yang sama ke CRecordset::Update, sebuah CDBException akan dilempar. Oleh karena itu, jangan memperbarui beberapa kolom panjang secara bersamaan dengan CRecordset::Update. Anda dapat memperbarui beberapa kolom panjang secara bersamaan dengan ODBC API SQLPutData. Anda juga dapat menggunakan pustaka kursor ODBC, tetapi ini tidak disarankan untuk driver, seperti driver SQL Server, yang mendukung kursor dan tidak memerlukan pustaka kursor.
Jika Anda menggunakan pustaka kursor ODBC dengan kelas database ODBC MFC dan driver ODBC Microsoft SQL Server, ASSERT mungkin terjadi bersama dengan CDBException, jika terjadi panggilan ke CRecordset::Update setelah panggilan ke CRecordset::Requery. Sebagai gantinya, panggil CRecordset::Close dan CRecordset::Open bukan CRecordset::Requery. Solusi lain adalah tidak menggunakan pustaka kursor ODBC, karena SQL Server dan driver ODBC SQL Server memberikan dukungan asli untuk kursor secara asli dan pustaka kursor ODBC tidak diperlukan.