SQLAllocStmt与SQLFreeStmt
?
1、申請(qǐng)語(yǔ)句句柄
SQLAllocStmt函數(shù)為應(yīng)用程序分配語(yǔ)句句柄,其格式為:RETCODE SQLAllocStmt(HDBC hdbc, HSTMT FAR * phstmt)
其中,
hdbc為連接句柄。每個(gè)語(yǔ)句句柄總是與一個(gè)連接句柄相關(guān)聯(lián),所以在申請(qǐng)語(yǔ)句句柄時(shí),要提供一個(gè)有效的連接句柄,否則,SQLAllocStmt函數(shù)將返回錯(cuò)誤碼:SQL_INVALID_HANDLE。
Phstmt為輸出參數(shù),它是一個(gè)指向語(yǔ)句句柄變量的指針,當(dāng)SQLAllocStmt函數(shù)執(zhí)行成功時(shí),它返回SQL_SUCCESS,并將為應(yīng)用程序分配的語(yǔ)句句柄存儲(chǔ)到指定的語(yǔ)句句柄變量中,否則返回SQL_ERROR。
2、釋放語(yǔ)句句柄
在使用語(yǔ)句句柄處理完數(shù)據(jù)庫(kù)操作后,應(yīng)用程序應(yīng)調(diào)用SQLFreeStmt函數(shù)關(guān)閉語(yǔ)句句柄的游標(biāo)、釋放為結(jié)果集合所分配的緩沖區(qū)、釋放語(yǔ)句句柄,從而釋放它占用的系統(tǒng)資源(重要!)。SQLFreeStmt函數(shù)的格式為:RETCODE SQLFreeStmt(HSTMT hstmt, UWORD fOption)
其中,hstmt為待釋放的語(yǔ)句句柄,fOption參數(shù)控制SQLFreeStmt函數(shù)的動(dòng)作。因?yàn)镾QLFreeStmt函數(shù)不僅僅用來(lái)釋放語(yǔ)句句柄,它還有其它多種功能,如能夠關(guān)閉游標(biāo),釋放列和參數(shù)緩沖區(qū)等,SQLFreeStmt函數(shù)的所有這些功能由fOption參數(shù)的取值決定。
FOption參數(shù)取值如下:
.SQL_CLOSE:關(guān)閉與hstmt句柄相關(guān)聯(lián)的游標(biāo),廢除所有正在處理的結(jié)果。關(guān)閉游標(biāo)后,再次執(zhí)行SELECT語(yǔ)句可以重新打開(kāi)游標(biāo);
.SQL_DROP:關(guān)閉所有與hstmt相關(guān)聯(lián)的游標(biāo),廢除正在處理的結(jié)果,結(jié)束一切對(duì)hstmt句柄的訪問(wèn),并釋放hstmt 句柄;
.SQL_UNBIND:解除SQLBindCol函數(shù)為hstmt結(jié)果集合所關(guān)聯(lián)的所有列緩沖區(qū);
.SQL_RESET_PARAS:釋放SQLBinParameter函數(shù)為hstmt句柄所關(guān)聯(lián)的參數(shù)緩區(qū)。
?
轉(zhuǎn)載于:https://www.cnblogs.com/MakeView660/p/7777859.html
總結(jié)
以上是生活随笔為你收集整理的SQLAllocStmt与SQLFreeStmt的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle服务器找不到怎么解决,简析O
- 下一篇: oracle查看用户路径,oracle