SQLBindParameter

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

SQLBindParameter dapat menghilangkan beban konversi data ketika digunakan untuk menyediakan data untuk driver ODBC SQL Server Native Client, menghasilkan perolehan performa yang signifikan untuk komponen klien dan server aplikasi. Manfaat lainnya termasuk pengurangan kehilangan presisi saat menyisipkan atau memperbarui perkiraan jenis data numerik.

Catatan

Saat menyisipkan data jenis karakter dan wchar ke dalam kolom gambar, ukuran data yang diteruskan digunakan, dibandingkan dengan ukuran data setelah konversi ke format biner.

Jika driver ODBC SQL Server Native Client mengalami kesalahan pada satu elemen array dari array parameter, driver terus menjalankan pernyataan untuk elemen array yang tersisa. Jika aplikasi telah mengikat array elemen status parameter untuk pernyataan tersebut, baris parameter yang menghasilkan kesalahan dapat ditentukan dari array.

Saat menggunakan driver ODBC SQL Server Native Client, tentukan SQL_PARAM_INPUT saat mengikat parameter input. Hanya tentukan SQL_PARAM_OUTPUT atau SQL_PARAM_INPUT_OUTPUT saat mengikat parameter prosedur tersimpan yang ditentukan dengan kata kunci OUTPUT.

SQLRowCount tidak dapat diandalkan dengan driver ODBC SQL Server Native Client jika elemen array dari array parameter terikat menyebabkan kesalahan dalam eksekusi pernyataan. Atribut pernyataan ODBC SQL_ATTR_PARAMS_PROCESSED_PTR melaporkan jumlah baris yang diproses sebelum kesalahan terjadi. Aplikasi kemudian dapat melintasi array status parameternya untuk menemukan jumlah pernyataan yang berhasil dijalankan, jika perlu.

Parameter Pengikatan untuk Jenis Karakter SQL

Jika jenis data SQL yang diteruskan adalah jenis karakter, ColumnSize adalah ukuran dalam karakter (bukan byte). Jika panjang string data dalam byte lebih besar dari 8000, ColumnSize harus diatur ke SQL_SS_LENGTH_UNLIMITED, menunjukkan bahwa tidak ada batasan ukuran jenis SQL.

Misalnya, jika jenis data SQL SQL_WVARCHAR, ColumnSize tidak boleh lebih besar dari 4000. Jika panjang data aktual lebih besar dari 4000, maka ColumnSize harus diatur ke SQL_SS_LENGTH_UNLIMITED sehingga nvarchar(max) akan digunakan oleh driver.

Parameter SQLBindParameter dan Table-Valued

Seperti jenis parameter lainnya, parameter bernilai tabel terikat oleh SQLBindParameter.

Setelah parameter bernilai tabel terikat, kolomnya juga terikat. Untuk mengikat kolom, Anda memanggil SQLSetStmtAttr untuk mengatur SQL_SOPT_SS_PARAM_FOCUS ke ordinal parameter bernilai tabel. Kemudian, panggil SQLBindParameter untuk setiap kolom dalam parameter bernilai tabel. Untuk kembali ke pengikatan parameter tingkat atas, atur SQL_SOPT_SS_PARAM_FOCUS ke 0.

Untuk informasi tentang pemetaan parameter ke bidang deskriptor untuk parameter bernilai tabel, lihat Pengikatan dan Transfer Data Parameter Bernilai Tabel dan Nilai Kolom.

Untuk informasi selengkapnya tentang parameter bernilai tabel, lihat Parameter Bernilai Tabel (ODBC).

Dukungan SQLBindParameter untuk Fitur Tanggal dan Waktu yang Ditingkatkan

Nilai parameter jenis tanggal/waktu dikonversi seperti yang dijelaskan dalam Konversi dari C ke SQL. Perhatikan bahwa parameter waktu jenis dan datetimeoffset harus memiliki ValueType yang ditentukan sebagai SQL_C_DEFAULT atau SQL_C_BINARY jika struktur yang sesuai (SQL_SS_TIME2_STRUCT dan SQL_SS_TIMESTAMPOFFSET_STRUCT) digunakan.

Untuk informasi selengkapnya, lihat Peningkatan Tanggal dan Waktu (ODBC).

Dukungan SQLBindParameter untuk UDT CLR Besar

SQLBindParameter mendukung jenis yang ditentukan pengguna (UDT) CLR besar. Untuk informasi selengkapnya, lihat Jenis Yang Ditentukan Pengguna (ODBC) CLR Besar.

Lihat Juga

Detail Implementasi ODBC API
Fungsi SQLBindParameter