2002/09/29 written by Wooce:
比如缓冲区大小是8个字节, OCIStmtFetch2()函数如果这一次取得的记录实际长度是5个字节, 那么OCIStmtFetch2()函数只会把缓冲区的前5个字节填入这次取得的记录的结果, 而后3个字节它是不会去动的, 也就是可能会残留着上一次GetRecord的结果, 这样就造成了本次GetRecord结果的不对, 所以每次GetRord时都要自己重新清空缓冲区一次才行。
比如缓冲区大小是8个字节, OCIStmtFetch2()函数如果这一次取得的记录实际长度是5个字节, 那么OCIStmtFetch2()函数只会把缓冲区的前5个字节填入这次取得的记录的结果, 而后3个字节它是不会去动的, 也就是可能会残留着上一次GetRecord的结果, 这样就造成了本次GetRecord结果的不对, 所以每次GetRord时都要自己重新清空缓冲区一次才行。
本文详细介绍了在使用OCIStmtFetch2()函数时遇到的问题:当缓冲区大小大于实际获取记录长度时,未使用的缓冲区部分可能保留上次获取记录的信息,导致数据不准确。为了避免这一问题,文章强调了在每次获取记录前都需要手动清空缓冲区的重要性。
275

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



