📄 long_8c-source.html
字号:
<a name="l00200"></a>00200 <a name="l00201"></a>00201 OCI_CALL1<a name="l00202"></a>00202 (<a name="l00203"></a>00203 res, lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>-><a class="code" href="struct_o_c_i___statement.html#338ddf58debd7de6ab9355f1e75d78f6">con</a>, lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>,<a name="l00204"></a>00204 <a name="l00205"></a>00205 OCIStmtGetPieceInfo(lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>-><a class="code" href="struct_o_c_i___statement.html#e526a309495dc7d8bcb747b2771de6b9">stmt</a>, lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>-><a class="code" href="struct_o_c_i___statement.html#338ddf58debd7de6ab9355f1e75d78f6">con</a>-><a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, &handle,<a name="l00206"></a>00206 &type, &in_out, &iter, &dx, &piece)<a name="l00207"></a>00207 )<a name="l00208"></a>00208 <a name="l00209"></a>00209 <span class="comment">/* set up piece type */</span><a name="l00210"></a>00210 <a name="l00211"></a>00211 <span class="keywordflow">if</span> (len > 0)<a name="l00212"></a>00212 piece = (ub1) ((lg-><a class="code" href="struct_o_c_i___long.html#936260167a8950b8022f7050f2f3dd87">size</a> > 0) ? OCI_NEXT_PIECE : OCI_FIRST_PIECE);<a name="l00213"></a>00213 <span class="keywordflow">else</span><a name="l00214"></a>00214 piece = (ub1) OCI_LAST_PIECE;<a name="l00215"></a>00215 <a name="l00216"></a>00216 <span class="comment">/* correct size to read for last piece */</span><a name="l00217"></a>00217 <a name="l00218"></a>00218 <span class="keywordflow">if</span> ((lg-><a class="code" href="struct_o_c_i___long.html#936260167a8950b8022f7050f2f3dd87">size</a> + len) >= lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>-><a class="code" href="struct_o_c_i___statement.html#f66fea62f75b943c334283cd346fb729">long_size</a>)<a name="l00219"></a>00219 {<a name="l00220"></a>00220 piece = OCI_LAST_PIECE;<a name="l00221"></a>00221 count = lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>-><a class="code" href="struct_o_c_i___statement.html#f66fea62f75b943c334283cd346fb729">long_size</a> - lg-><a class="code" href="struct_o_c_i___long.html#936260167a8950b8022f7050f2f3dd87">size</a>;<a name="l00222"></a>00222 }<a name="l00223"></a>00223 <a name="l00224"></a>00224 <span class="comment">/* set up info for writing */</span><a name="l00225"></a>00225 <a name="l00226"></a>00226 OCI_CALL1<a name="l00227"></a>00227 (<a name="l00228"></a>00228 res, lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>-><a class="code" href="struct_o_c_i___statement.html#338ddf58debd7de6ab9355f1e75d78f6">con</a>, lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>,<a name="l00229"></a>00229 <a name="l00230"></a>00230 OCIStmtSetPieceInfo(handle, type, lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>-><a class="code" href="struct_o_c_i___statement.html#338ddf58debd7de6ab9355f1e75d78f6">con</a>-><a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, (dvoid *) obuf, <a name="l00231"></a>00231 &count, piece, (dvoid *) NULL, (ub2 *) NULL)<a name="l00232"></a>00232 )<a name="l00233"></a>00233 <a name="l00234"></a>00234 <span class="comment">/* perform write call */</span><a name="l00235"></a>00235 <a name="l00236"></a>00236 <span class="keywordflow">if</span> (res == TRUE)<a name="l00237"></a>00237 { <a name="l00238"></a>00238 code = OCIStmtExecute(lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>-><a class="code" href="struct_o_c_i___statement.html#338ddf58debd7de6ab9355f1e75d78f6">con</a>-><a class="code" href="struct_o_c_i___connection.html#f20d1bea40e79481aeece933a4c70898">cxt</a>, lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>-><a class="code" href="struct_o_c_i___statement.html#e526a309495dc7d8bcb747b2771de6b9">stmt</a>,<a name="l00239"></a>00239 lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>-><a class="code" href="struct_o_c_i___statement.html#338ddf58debd7de6ab9355f1e75d78f6">con</a>-><a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, (ub4) 1, (ub4) 0, <a name="l00240"></a>00240 (OCISnapshot *) NULL, (OCISnapshot *) NULL,<a name="l00241"></a>00241 (ub4) 0);<a name="l00242"></a>00242 }<a name="l00243"></a>00243 <a name="l00244"></a>00244 <span class="keywordflow">if</span> ((code != OCI_SUCCESS) && (code != OCI_NEED_DATA))<a name="l00245"></a>00245 {<a name="l00246"></a>00246 OCI_ExceptionOCI(lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>-><a class="code" href="struct_o_c_i___statement.html#338ddf58debd7de6ab9355f1e75d78f6">con</a>-><a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>-><a class="code" href="struct_o_c_i___statement.html#338ddf58debd7de6ab9355f1e75d78f6">con</a>, lg-><a class="code" href="struct_o_c_i___long.html#772460c6f3bb2b3c13dd231f1439c41c">stmt</a>);<a name="l00247"></a>00247 }<a name="l00248"></a>00248 <a name="l00249"></a>00249 <span class="keywordflow">if</span> (lg-><a class="code" href="struct_o_c_i___long.html#0eb52b112b73161c67c5e8631e5bd62d">type</a> == OCI_CLONG)<a name="l00250"></a>00250 OCI_ReleaseDataString(obuf);<a name="l00251"></a>00251 <a name="l00252"></a>00252 <span class="comment">/* update size */</span><a name="l00253"></a>00253 <a name="l00254"></a>00254 <span class="keywordflow">if</span> (res == TRUE)<a name="l00255"></a>00255 {<a name="l00256"></a>00256 lg-><a class="code" href="struct_o_c_i___long.html#936260167a8950b8022f7050f2f3dd87">size</a> += count;<a name="l00257"></a>00257 <a name="l00258"></a>00258 <span class="keywordflow">if</span> (lg-><a class="code" href="struct_o_c_i___long.html#0eb52b112b73161c67c5e8631e5bd62d">type</a> == OCI_CLONG)<a name="l00259"></a>00259 count /= <span class="keyword">sizeof</span>(odtext);<a name="l00260"></a>00260 }<a name="l00261"></a>00261 <a name="l00262"></a>00262 OCI_RESULT(res);<a name="l00263"></a>00263 <a name="l00264"></a>00264 <span class="keywordflow">return</span> count;<a name="l00265"></a>00265 }<a name="l00266"></a>00266 <a name="l00267"></a>00267 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00268"></a>00268 <span class="comment"> * OCI_LongGetSize</span><a name="l00269"></a>00269 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00270"></a>00270 <a name="l00271"></a><a class="code" href="group__g__long.html#gf7ed15bc901e38b9bc3394f334bf8d4c">00271</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> OCI_API <a class="code" href="group__g__long.html#gf7ed15bc901e38b9bc3394f334bf8d4c" title="Return the buffer size of a long object in bytes (OCI_BLONG) or character (OCI_CLONG)...">OCI_LongGetSize</a>(<a class="code" href="struct_o_c_i___long.html" title="Oracle Long datatype.">OCI_Long</a> *lg)<a name="l00272"></a>00272 {<a name="l00273"></a>00273 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> size = 0;<a name="l00274"></a>00274 <a name="l00275"></a>00275 OCI_CHECK_PTR(OCI_IPC_LONG, lg, 0);<a name="l00276"></a>00276 <a name="l00277"></a>00277 size = lg-><a class="code" href="struct_o_c_i___long.html#936260167a8950b8022f7050f2f3dd87">size</a>;<a name="l00278"></a>00278 <a name="l00279"></a>00279 <span class="keywordflow">if</span> (lg-><a class="code" href="struct_o_c_i___long.html#0eb52b112b73161c67c5e8631e5bd62d">type</a> == OCI_CLONG)<a name="l00280"></a>00280 size /= <span class="keyword">sizeof</span>(dtext);<a name="l00281"></a>00281 <a name="l00282"></a>00282 OCI_RESULT(TRUE);<a name="l00283"></a>00283 <a name="l00284"></a>00284 <span class="keywordflow">return</span> size;<a name="l00285"></a>00285 }<a name="l00286"></a>00286 <a name="l00287"></a>00287 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00288"></a>00288 <span class="comment"> * OCI_LongGetBuffer</span><a name="l00289"></a>00289 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00290"></a>00290 <a name="l00291"></a><a class="code" href="group__g__long.html#gee33459c8a44c3216df4335627cac818">00291</a> <span class="keywordtype">void</span> * OCI_API <a class="code" href="group__g__long.html#gee33459c8a44c3216df4335627cac818" title="Return the internal buffer of an OCI_Long object read from a fetch sequence.">OCI_LongGetBuffer</a>(<a class="code" href="struct_o_c_i___long.html" title="Oracle Long datatype.">OCI_Long</a> *lg)<a name="l00292"></a>00292 {<a name="l00293"></a>00293 OCI_CHECK_PTR(OCI_IPC_LONG, lg, NULL);<a name="l00294"></a>00294 <a name="l00295"></a>00295 OCI_RESULT(TRUE);<a name="l00296"></a>00296 <a name="l00297"></a>00297 <span class="keywordflow">return</span> (<span class="keywordtype">void</span> *) lg-><a class="code" href="struct_o_c_i___long.html#c1d382a8949e5d85954dc900c7b2ac7f">buffer</a>;<a name="l00298"></a>00298 }</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Oct 9 10:07:43 2008 for OCILIB (C Driver for Oracle) by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -