Bagikan melalui


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.