SQLDescribeCol
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Untuk pernyataan yang dijalankan, driver ODBC SQL Server Native Client tidak perlu mengkueri server untuk menjelaskan kolom dalam kumpulan hasil. Dalam hal ini, SQLDescribeCol tidak menyebabkan pulang pergi server. Seperti SQLColAttribute dan SQLNumResultCols, memanggil SQLDescribeCol pada pernyataan yang disiapkan tetapi tidak dijalankan menghasilkan roundtrip server.
Saat pernyataan Transact-SQL atau batch pernyataan mengembalikan beberapa kumpulan baris hasil, dimungkinkan untuk kolom, yang dirujuk oleh ordinal, untuk berasal dari tabel terpisah atau untuk merujuk ke kolom yang sama sekali berbeda dalam tataan hasil. SQLDescribeCol harus dipanggil untuk setiap set. Ketika kumpulan hasil berubah, aplikasi harus mengikat kembali nilai data sebelum mengambil hasil baris. Untuk informasi selengkapnya tentang menangani beberapa pengembalian kumpulan hasil, lihat SQLMoreResults.
Atribut kolom hanya dilaporkan untuk hasil pertama yang ditetapkan ketika beberapa set hasil dihasilkan oleh batch pernyataan SQL yang disiapkan.
Untuk jenis data nilai besar, nilai yang dikembalikan dalam DataTypePtr SQL_VARCHAR, SQL_VARBINARY, atau SQL_NVARCHAR. Nilai SQL_SS_LENGTH_UNLIMITED di ColumnSizePtr menunjukkan bahwa ukurannya "tidak terbatas".
Peningkatan di mesin database yang dimulai dengan SQL Server 2012 (11.x) memungkinkan SQLDescribeCol untuk mendapatkan deskripsi yang lebih akurat dari hasil yang diharapkan. Hasil yang lebih akurat ini mungkin berbeda dari nilai yang dikembalikan oleh SQLDescribeCol di versi SQL Server sebelumnya. Untuk informasi selengkapnya, lihat Penemuan Metadata.
Dukungan SQLDescribeCol untuk Fitur Tanggal dan Waktu yang Ditingkatkan
Nilai yang dikembalikan untuk jenis tanggal/waktu adalah sebagai berikut:
Atribut | DataTypePtr | ColumnSizePtr | DecimalDigitsPtr |
---|---|---|---|
datetime | SQL_TYPE_TIMESTAMP | 23 | 3 |
smalldatetime | SQL_TYPE_TIMESTAMP | 16 | 0 |
date | SQL_TYPE_DATE | 10 | 0 |
waktu | SQL_SS_TIME2 | 8, 10..16 | 0..7 |
tanggalwaktu2 | SQL_TYPE_TIMESTAMP | 19, 21..27 | 0..7 |
tanggalwaktulewat | SQL_SS_TIMESTAMPOFFSET | 26, 28..34 | 0..7 |
Untuk informasi selengkapnya, lihat Peningkatan Tanggal dan Waktu (ODBC).
Dukungan SQLDescribeCol untuk UDT CLR Besar
SQLDescribeCol mendukung jenis (UDT) yang ditentukan pengguna CLR besar. Untuk informasi selengkapnya, lihat Jenis Yang Ditentukan Pengguna (ODBC) CLR Besar.