Pemetaan SQLSetStmtOption

Saat aplikasi memanggil SQLSetStmtOption melalui driver ODBC 3.x , panggilan ke

SQLSetStmtOption(StatementHandle, fOption, vParam)  

akan menghasilkan sebagai berikut:

  • Jika fOption menunjukkan atribut pernyataan yang ditentukan ODBC yang merupakan string, Driver Manager akan memanggil

    SQLSetStmtAttr(StatementHandle, fOption, ValuePtr, SQL_NTS)  
    
  • Jika fOption menunjukkan atribut pernyataan yang ditentukan ODBC yang mengembalikan nilai bilangan bulat 32-bit, Manajer Driver memanggil

    SQLSetStmtAttr(StatementHandle, fOption, ValuePtr, 0)  
    
  • Jika fOption menunjukkan atribut pernyataan yang ditentukan driver, Manajer Driver memanggil

    SQLSetStmtAttr(StatementHandle, fOption, ValuePtr, BufferLength)  
    

Dalam tiga kasus sebelumnya, argumen StatementHandle diatur ke nilai di hstmt, argumen Atribut diatur ke nilai dalam fOption, dan argumen ValuePtr diatur ke nilai sebagai vParam.

Karena Driver Manager tidak tahu apakah atribut pernyataan yang ditentukan driver memerlukan string atau nilai bilangan bulat 32-bit, itu harus meneruskan nilai yang valid untuk argumen StringLength dari SQLSetStmtAttr. Jika driver telah menentukan semantik khusus untuk atribut pernyataan yang ditentukan driver dan perlu dipanggil menggunakan SQLSetStmtOption, driver harus mendukung SQLSetStmtOption.

Jika aplikasi memanggil SQLSetStmtOption untuk mengatur opsi pernyataan khusus driver dalam driver ODBC 3.x dan opsi ditentukan dalam driver versi ODBC 2.x , konstanta manifes baru harus ditentukan untuk opsi di driver ODBC 3.x . Jika konstanta manifes lama digunakan dalam panggilan ke SQLSetStmtOption, Manajer Driver akan memanggil SQLSetStmtAttr dengan argumen StringLength diatur ke 0.

Saat aplikasi memanggil SQLSetStmtAttr untuk mengatur SQL_ATTR_USE_BOOKMARKS ke SQL_UB_ON dalam driver ODBC 3.x , atribut pernyataan SQL_ATTR_USE_BOOKMARKS diatur ke SQL_UB_FIXED. SQL_UB_ON konstanta yang sama dengan SQL_UB_FIXED. Driver Manager meneruskan SQL_UB_FIXED ke pengemudi. SQL_UB_FIXED tidak digunakan lagi di ODBC 3.x, tetapi driver ODBC 3.x harus menerapkannya untuk bekerja dengan aplikasi ODBC 2.x yang menggunakan marka buku panjang tetap.

Untuk driver ODBC 3.x , Driver Manager tidak lagi memeriksa untuk melihat apakah Opsi berada di antara SQL_STMT_OPT_MIN dan SQL_STMT_OPT_MAX, atau lebih besar dari SQL_CONNECT_OPT_DRVR_START.