Ukuran Kolom, Digit Desimal, Panjang Oktet Transfer, dan Ukuran Tampilan - ODBC

Jenis data ditandai dengan ukuran kolom (atau parameter), digit desimal, panjang, dan ukuran tampilannya. Fungsi ODBC berikut mengembalikan atribut ini untuk parameter dalam pernyataan SQL atau untuk jenis data SQL pada sumber data. Setiap fungsi ODBC mengembalikan sekumpulan atribut ini yang berbeda, sebagai berikut:

  • SQLDescribeCol mengembalikan ukuran kolom dan digit desimal kolom yang dijelaskannya.

  • SQLDescribeParam mengembalikan ukuran parameter dan digit desimal parameter yang dijelaskannya. SQLBindParameter mengatur ukuran parameter dan digit desimal untuk parameter dalam pernyataan SQL.

  • Fungsi katalog SQLColumns, SQLProcedureColumns, dan SQLGetTypeInfo mengembalikan atribut untuk kolom dalam tabel, tataan hasil, atau parameter prosedur dan atribut katalog dari jenis data di sumber data. SQLColumns mengembalikan ukuran kolom, digit desimal, dan panjang kolom dalam tabel tertentu (seperti tabel dasar, tampilan, atau tabel sistem). SQLProcedureColumns mengembalikan ukuran kolom, digit desimal, dan panjang kolom dalam prosedur. SQLGetTypeInfo mengembalikan ukuran kolom maksimum dan digit desimal minimum dan maksimum dari jenis data SQL pada sumber data.

Nilai yang dikembalikan oleh fungsi-fungsi ini untuk ukuran kolom atau parameter sesuai dengan "presisi" seperti yang didefinisikan dalam ODBC 2.x. Namun, nilai tidak selalu sesuai dengan nilai yang dikembalikan dalam SQL_DESC_PRECISION atau bidang deskriptor lainnya. Hal yang sama berlaku untuk digit desimal, yang sesuai dengan "skala" seperti yang didefinisikan dalam ODBC 2.x. Ini tidak selalu sesuai dengan nilai yang dikembalikan dalam SQL_DESC_SCALE atau bidang deskriptor lainnya, tetapi berasal dari bidang deskriptor yang berbeda tergantung pada jenis data. Untuk informasi selengkapnya, lihat Ukuran Kolom dan Digit Desimal.

Demikian pula, nilai untuk panjang oktet transfer tidak berasal dari SQL_DESC_LENGTH. Mereka berasal dari SQL_DESC_OCTET_LENGTH bidang deskriptor untuk semua karakter dan jenis biner. Tidak ada bidang deskriptor yang menyimpan informasi ini untuk tipe lain.

Nilai ukuran tampilan untuk semua jenis data sesuai dengan nilai dalam bidang deskriptor tunggal, SQL_DESC_DISPLAY_SIZE.

Bidang deskriptor menjelaskan karakteristik kumpulan hasil. Bidang deskriptor tidak berisi nilai yang valid tentang data sebelum eksekusi pernyataan. Nilai untuk ukuran kolom, digit desimal, dan ukuran tampilan yang dikembalikan oleh SQLColumns, SQLProcedureColumns, dan SQLGetTypeInfo, di sisi lain, mengembalikan karakteristik objek database, seperti kolom tabel dan jenis data, yang ada di katalog sumber data. Demikian juga, dalam tataan hasilnya, SQLColAttribute mengembalikan ukuran kolom, digit desimal, dan mentransfer panjang kolom oktet di sumber data; nilai-nilai ini tidak selalu sama dengan nilai dalam bidang deskriptor SQL_DESC_PRECISION, SQL_DESC_SCALE, dan SQL_DESC_OCTET_LENGTH.

Untuk informasi selengkapnya tentang bidang deskriptor ini, lihat SQLSetDescField.

Topik terkait: