我不得不寫OCI代碼像Select * from emp;
OCI呼籲select語句
因爲我不知道有多少行將返回我不能預先分配我的緩衝區 所以我定義了一個void **
指針,而我聯想一個簡單的查詢我輸出緩衝區。
的想法是調用OCIStmtExecute
與iters = 0
因爲
對於SELECT語句,如果iters不爲零,則定義必須已經語句句柄來完成。執行將iters行提取到這些預定義的緩衝區中,並根據預取行數預取更多行。如果您不知道SELECT語句將檢索多少行,請將iter設置爲零。
如果非SELECT語句的iters = 0,則此函數返回錯誤。
之後,我打算做OCIAttrGet(OCI_ATTR_ROW_COUNT)
得到的數字由select語句返回的行,然後輸出緩衝器分配內存,然後通過指定行數,因此調用返回的OCIStmtFetch。
但是我得到的行數是0,即使有表返回的數據。
我的方法存在一些缺陷嗎?您能否指出缺陷