SQL ke C: Biner
Pengidentifikasi untuk jenis data ODBC SQL biner adalah:
SQL_BINARY
SQL_VARBINARY
SQL_LONGVARBINARY
Tabel berikut ini memperlihatkan tipe data ODBC C tempat data SQL biner dapat dikonversi. Untuk penjelasan tentang kolom dan istilah dalam tabel, lihat Mengonversi Data dari SQL ke Jenis Data C.
Pengidentifikasi tipe C | Uji | *TargetValuePtr | *StrLen_or_IndPtr | SQLSTATE |
---|---|---|---|---|
SQL_C_CHAR | (Panjang byte data) * 2 <BufferLength (Panjang byte data) * 2 >= BufferLength |
Data Data terpotong |
Panjang data dalam byte Panjang data dalam byte |
n/a 01004 |
SQL_C_WCHAR | (Panjang karakter data) * 2 <BufferLength (Panjang karakter data) * 2 >= BufferLength |
Data Data terpotong |
Panjang data dalam karakter Panjang data dalam karakter |
n/a 01004 |
SQL_C_BINARY | Panjang byte data <= BufferLength Panjang byte data >BufferLength |
Data Data terpotong |
Panjang data dalam byte Panjang data dalam byte |
n/a 01004 |
Ketika data SQL biner dikonversi menjadi data C karakter, setiap byte (8 bit) data sumber diwakili sebagai dua karakter ASCII. Karakter ini adalah representasi karakter ASCII dari angka dalam bentuk heksadesimalnya. Misalnya, 00000001 biner dikonversi menjadi "01" dan 11111111 biner dikonversi ke "FF".
Driver selalu mengonversi byte individual menjadi pasangan digit heksadesimal dan mengakhiri string karakter dengan byte null. Karena itu, jika BufferLength genap dan kurang dari panjang data yang dikonversi, byte terakhir dari buffer *TargetValuePtr tidak digunakan. (Data yang dikonversi memerlukan jumlah byte genap, byte berikutnya ke terakhir adalah byte null, dan byte terakhir tidak dapat digunakan.)
Catatan
Pengembang aplikasi tidak disarankan untuk mengikat data SQL biner ke jenis data C karakter. Konversi ini biasanya tidak efisien dan lambat.