2002/09/29 written by Wooce:
比如缓冲区大小是8个字节, OCIStmtFetch2()函数如果这一次取得的记录实际长度是5个字节, 那么OCIStmtFetch2()函数只会把缓冲区的前5个字节填入这次取得的记录的结果, 而后3个字节它是不会去动的, 也就是可能会残留着上一次GetRecord的结果, 这样就造成了本次GetRecord结果的不对, 所以每次GetRecord时都要自己重新清空缓冲区一次才行。
比如缓冲区大小是8个字节, OCIStmtFetch2()函数如果这一次取得的记录实际长度是5个字节, 那么OCIStmtFetch2()函数只会把缓冲区的前5个字节填入这次取得的记录的结果, 而后3个字节它是不会去动的, 也就是可能会残留着上一次GetRecord的结果, 这样就造成了本次GetRecord结果的不对, 所以每次GetRecord时都要自己重新清空缓冲区一次才行。
本文详细解析了OCIStmtFetch2函数在获取记录时的工作原理,特别是当记录长度小于缓冲区大小时,如何正确处理剩余缓冲区空间以避免数据污染。
405

被折叠的 条评论
为什么被折叠?



