Menjelaskan Parameter

SQLBindParameter memiliki argumen yang menjelaskan parameter: jenis SQL, presisi, dan skalanya. Driver menggunakan informasi ini, atau metadata, untuk mengonversi nilai parameter ke jenis yang diperlukan oleh sumber data. Pada pandangan pertama, tampaknya driver berada dalam posisi yang lebih baik untuk mengetahui metadata parameter daripada aplikasi; setelah semua, driver dapat dengan mudah menemukan metadata untuk kolom tataan hasil. Ternyata, ini tidak terjadi. Pertama, sebagian besar sumber data tidak menyediakan cara bagi driver untuk menemukan metadata parameter. Kedua, sebagian besar aplikasi sudah mengetahui metadata.

Jika pernyataan SQL dikodekan secara permanen dalam aplikasi, penulis aplikasi sudah mengetahui jenis setiap parameter. Jika pernyataan SQL dibangun oleh aplikasi pada waktu proses, aplikasi dapat menentukan metadata saat membangun pernyataan. Misalnya, ketika aplikasi membuat klausa

WHERE OrderID = ?  

ini dapat memanggil SQLColumns untuk kolom OrderID.

Satu-satunya situasi di mana aplikasi tidak dapat dengan mudah menentukan metadata parameter adalah ketika pengguna memasukkan pernyataan berparameter. Dalam hal ini, aplikasi memanggil SQLPrepare untuk menyiapkan pernyataan, SQLNumParams untuk menentukan jumlah parameter, dan SQLDescribeParam untuk menjelaskan setiap parameter. Namun, seperti yang disebutkan sebelumnya, sebagian besar sumber data tidak menyediakan cara bagi driver untuk menemukan metadata parameter, sehingga SQLDescribeParam tidak didukung secara luas.