⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 object_8c-source.html

📁 oci的源码,可以在任何平台上编译,相当方便实用
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00397"></a>00397                                    (<span class="keywordtype">int</span>) dtslen(data),  fmt, fmt_size);<a name="l00398"></a>00398     }<a name="l00399"></a>00399 <a name="l00400"></a>00400     OCI_RESULT(res);<a name="l00401"></a>00401 <a name="l00402"></a>00402     <span class="keywordflow">return</span> FALSE;<a name="l00403"></a>00403 }<a name="l00404"></a>00404 <a name="l00405"></a>00405 <span class="comment">/* ************************************************************************ *</span><a name="l00406"></a>00406 <span class="comment"> *                            PUBLIC FUNCTIONS</span><a name="l00407"></a>00407 <span class="comment"> * ************************************************************************ */</span><a name="l00408"></a>00408 <a name="l00409"></a>00409 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00410"></a>00410 <span class="comment"> * OCI_ObjectCreate</span><a name="l00411"></a>00411 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00412"></a>00412 <a name="l00413"></a><a class="code" href="group__g__usertypes.html#g5e8f1db675e2b4fe74c82bdc79be8294">00413</a> <a class="code" href="struct_o_c_i___object.html" title="Oracle Named types representation.">OCI_Object</a> * OCI_API <a class="code" href="group__g__usertypes.html#g5e8f1db675e2b4fe74c82bdc79be8294" title="Create a local object instance.">OCI_ObjectCreate</a>(<a class="code" href="struct_o_c_i___connection.html" title="Oracle physical connection.">OCI_Connection</a> *con, <a class="code" href="struct_o_c_i___type_info.html" title="Type info metadata handle.">OCI_TypeInfo</a> *typinf)<a name="l00414"></a>00414 {<a name="l00415"></a>00415     <a class="code" href="struct_o_c_i___object.html" title="Oracle Named types representation.">OCI_Object</a> *obj = NULL;<a name="l00416"></a>00416 <a name="l00417"></a>00417     OCI_CHECK_INITIALIZED(NULL);<a name="l00418"></a>00418 <a name="l00419"></a>00419     OCI_CHECK_PTR(OCI_IPC_CONNECTION, con, NULL);<a name="l00420"></a>00420     OCI_CHECK_PTR(OCI_IPC_TYPE_INFO, typinf, NULL);<a name="l00421"></a>00421 <a name="l00422"></a>00422     obj = OCI_ObjectInit(con, &amp;obj, NULL, typinf, NULL, -1, TRUE);<a name="l00423"></a>00423 <a name="l00424"></a>00424     OCI_RESULT(obj != NULL);<a name="l00425"></a>00425 <a name="l00426"></a>00426     <span class="keywordflow">return</span> obj;<a name="l00427"></a>00427 }<a name="l00428"></a>00428 <a name="l00429"></a>00429 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00430"></a>00430 <span class="comment"> * OCI_ObjectFree</span><a name="l00431"></a>00431 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00432"></a>00432 <a name="l00433"></a><a class="code" href="group__g__usertypes.html#g3fd2c9dfdcab2c56400c95c31cc0851e">00433</a> <span class="keywordtype">boolean</span> OCI_API <a class="code" href="group__g__usertypes.html#g3fd2c9dfdcab2c56400c95c31cc0851e" title="Free a local object.">OCI_ObjectFree</a>(<a class="code" href="struct_o_c_i___object.html" title="Oracle Named types representation.">OCI_Object</a> *obj)<a name="l00434"></a>00434 {<a name="l00435"></a>00435     OCI_CHECK_PTR(OCI_IPC_OBJECT, obj, FALSE);<a name="l00436"></a>00436 <a name="l00437"></a>00437     OCI_CHECK_OBJECT_FETCHED(obj, FALSE);<a name="l00438"></a>00438 <a name="l00439"></a>00439     <span class="comment">/* if the object has sub-objects that have been fetched, we need to free</span><a name="l00440"></a>00440 <span class="comment">       these objects */</span><a name="l00441"></a>00441 <a name="l00442"></a>00442      OCI_ObjectReset(obj);<a name="l00443"></a>00443 <a name="l00444"></a>00444     <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="struct_o_c_i___object.html#c200f98bde82ce8df32af3f17a453b20">objs</a> != NULL)<a name="l00445"></a>00445     {<a name="l00446"></a>00446         OCI_FREE(obj-&gt;<a class="code" href="struct_o_c_i___object.html#c200f98bde82ce8df32af3f17a453b20">objs</a>);<a name="l00447"></a>00447     }<a name="l00448"></a>00448 <a name="l00449"></a>00449     <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="struct_o_c_i___object.html#675b03e6dac56a3ff7c6743302e90ffc">hstate</a> == OCI_OBJECT_ALLOCATED)<a name="l00450"></a>00450     {<a name="l00451"></a>00451         OCI_OCIObjectFree(OCILib.env, obj-&gt;<a class="code" href="struct_o_c_i___object.html#8bde19100472fa2836e320e8e0878954">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>,  obj-&gt;<a class="code" href="struct_o_c_i___object.html#68ed912c697729f379e568beb84236c9">handle</a>,<a name="l00452"></a>00452                           OCI_OBJECTFREE_NONULL);<a name="l00453"></a>00453     }<a name="l00454"></a>00454 <a name="l00455"></a>00455     OCI_FREE(obj-&gt;<a class="code" href="struct_o_c_i___object.html#96a0b7cfa2636dde43654219b0c2aa0a">buf</a>);<a name="l00456"></a>00456     OCI_FREE(obj);<a name="l00457"></a>00457 <a name="l00458"></a>00458     OCI_RESULT(TRUE);<a name="l00459"></a>00459 <a name="l00460"></a>00460     <span class="keywordflow">return</span> TRUE;<a name="l00461"></a>00461 }<a name="l00462"></a>00462 <a name="l00463"></a>00463 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00464"></a>00464 <span class="comment"> * OCI_ObjectAssign</span><a name="l00465"></a>00465 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00466"></a>00466 <a name="l00467"></a><a class="code" href="group__g__usertypes.html#g0eb65d12c69fa2a0721182c73b9fe6a1">00467</a> <span class="keywordtype">boolean</span> OCI_API <a class="code" href="group__g__usertypes.html#g0eb65d12c69fa2a0721182c73b9fe6a1" title="Assign an object to another one.">OCI_ObjectAssign</a>(<a class="code" href="struct_o_c_i___object.html" title="Oracle Named types representation.">OCI_Object</a> *obj, <a class="code" href="struct_o_c_i___object.html" title="Oracle Named types representation.">OCI_Object</a> *obj_src)<a name="l00468"></a>00468 {<a name="l00469"></a>00469     <span class="keywordtype">boolean</span> res = TRUE;<a name="l00470"></a>00470 <a name="l00471"></a>00471     OCI_CHECK_PTR(OCI_IPC_OBJECT, obj,     FALSE);<a name="l00472"></a>00472     OCI_CHECK_PTR(OCI_IPC_OBJECT, obj_src, FALSE);<a name="l00473"></a>00473 <a name="l00474"></a>00474     OCI_CHECK_COMPAT(obj-&gt;<a class="code" href="struct_o_c_i___object.html#8bde19100472fa2836e320e8e0878954">con</a>, obj-&gt;<a class="code" href="struct_o_c_i___object.html#3b23cdc6b101eac16f640e27e8fa1044">typinf</a> == obj_src-&gt;<a class="code" href="struct_o_c_i___object.html#3b23cdc6b101eac16f640e27e8fa1044">typinf</a>, FALSE);<a name="l00475"></a>00475 <a name="l00476"></a>00476     OCI_CALL2<a name="l00477"></a>00477     (<a name="l00478"></a>00478         res, obj-&gt;<a class="code" href="struct_o_c_i___object.html#8bde19100472fa2836e320e8e0878954">con</a>,<a name="l00479"></a>00479 <a name="l00480"></a>00480         OCIObjectCopy(OCILib.env, obj-&gt;<a class="code" href="struct_o_c_i___object.html#8bde19100472fa2836e320e8e0878954">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, obj-&gt;<a class="code" href="struct_o_c_i___object.html#8bde19100472fa2836e320e8e0878954">con</a>-&gt;<a class="code" href="struct_o_c_i___connection.html#f20d1bea40e79481aeece933a4c70898">cxt</a>,<a name="l00481"></a>00481                       obj_src-&gt;<a class="code" href="struct_o_c_i___object.html#68ed912c697729f379e568beb84236c9">handle</a>, (obj_src-&gt;<a class="code" href="struct_o_c_i___object.html#8fb7cb47efd9e3c3f163e9164756a7fd">tab_ind</a> + obj_src-&gt;<a class="code" href="struct_o_c_i___object.html#26cdcc079b93a3e5c0a056d9d4ae7823">idx_ind</a>),<a name="l00482"></a>00482                       obj-&gt;<a class="code" href="struct_o_c_i___object.html#68ed912c697729f379e568beb84236c9">handle</a>, (obj-&gt;<a class="code" href="struct_o_c_i___object.html#8fb7cb47efd9e3c3f163e9164756a7fd">tab_ind</a> + obj-&gt;<a class="code" href="struct_o_c_i___object.html#26cdcc079b93a3e5c0a056d9d4ae7823">idx_ind</a>),<a name="l00483"></a>00483                       obj-&gt;<a class="code" href="struct_o_c_i___object.html#3b23cdc6b101eac16f640e27e8fa1044">typinf</a>-&gt;<a class="code" href="struct_o_c_i___type_info.html#b8a09ffebc55d07e53cd5520c486cf27">tdo</a>, OCI_DURATION_SESSION, OCI_DEFAULT)<a name="l00484"></a>00484     )<a name="l00485"></a>00485 <a name="l00486"></a>00486     <span class="keywordflow">if</span> (res == TRUE)<a name="l00487"></a>00487     {<a name="l00488"></a>00488         obj-&gt;<a class="code" href="struct_o_c_i___object.html#3b23cdc6b101eac16f640e27e8fa1044">typinf</a> = obj_src-&gt;<a class="code" href="struct_o_c_i___object.html#3b23cdc6b101eac16f640e27e8fa1044">typinf</a>;<a name="l00489"></a>00489 <a name="l00490"></a>00490         OCI_ObjectReset(obj);<a name="l00491"></a>00491     }<a name="l00492"></a>00492 <a name="l00493"></a>00493 <a name="l00494"></a>00494     OCI_RESULT(res);<a name="l00495"></a>00495 <a name="l00496"></a>00496     <span class="keywordflow">return</span> res;<a name="l00497"></a>00497 }<a name="l00498"></a>00498 <a name="l00499"></a>00499 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00500"></a>00500 <span class="comment"> * OCI_ObjectGetInt</span><a name="l00501"></a>00501 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00502"></a>00502 <a name="l00503"></a><a class="code" href="group__g__usertypes.html#gbeb0db1bb555a25b3012838aae3b9d11">00503</a> <span class="keywordtype">short</span> OCI_API <a class="code" href="group__g__usertypes.html#gbeb0db1bb555a25b3012838aae3b9d11" title="Return the short value of the given object attribute.">OCI_ObjectGetShort</a>(<a class="code" href="struct_o_c_i___object.html" title="Oracle Named types representation.">OCI_Object</a> *obj, <span class="keyword">const</span> mtext *attr)<a name="l00504"></a>00504 {<a name="l00505"></a>00505     <span class="keywordtype">short</span> value = 0;<a name="l00506"></a>00506 <a name="l00507"></a>00507     OCI_ObjectGetNumber(obj, attr, &amp;value, <span class="keyword">sizeof</span>(value), OCI_NUM_SHORT);<a name="l00508"></a>00508 <a name="l00509"></a>00509     <span class="keywordflow">return</span> value;<a name="l00510"></a>00510 }<a name="l00511"></a>00511 <a name="l00512"></a>00512 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00513"></a>00513 <span class="comment"> * OCI_ObjectGetUnsignedInt</span><a name="l00514"></a>00514 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00515"></a>00515 <a name="l00516"></a><a class="code" href="group__g__usertypes.html#gd3b4fbb26ad147d477a9865fffa318f7">00516</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> OCI_API <a class="code" href="group__g__usertypes.html#gd3b4fbb26ad147d477a9865fffa318f7" title="Return the unsigned short value of the given object attribute.">OCI_ObjectGetUnsignedShort</a>(<a class="code" href="struct_o_c_i___object.html" title="Oracle Named types representation.">OCI_Object</a> *obj,<a name="l00517"></a>00517                                                   <span class="keyword">const</span> mtext *attr)<a name="l00518"></a>00518 {<a name="l00519"></a>00519     <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> value = 0;<a name="l00520"></a>00520 <a name="l00521"></a>00521     OCI_ObjectGetNumber(obj, attr, &amp;value, <span class="keyword">sizeof</span>(value), OCI_NUM_USHORT);<a name="l00522"></a>00522 <a name="l00523"></a>00523     <span class="keywordflow">return</span> value;<a name="l00524"></a>00524 }<a name="l00525"></a>00525 <a name="l00526"></a>00526 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00527"></a>00527 <span class="comment"> * OCI_ObjectGetInt</span><a name="l00528"></a>00528 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00529"></a>00529 <a name="l00530"></a><a class="code" href="group__g__usertypes.html#g05bf984246cbaaa6d554af9cfb8d99e9">00530</a> <span class="keywordtype">int</span> OCI_API <a class="code" href="group__g__usertypes.html#g05bf984246cbaaa6d554af9cfb8d99e9" title="Return the integer value of the given object attribute.">OCI_ObjectGetInt</a>(<a class="code" href="struct_o_c_i___object.html" title="Oracle Named types representation.">OCI_Object</a> *obj, <span class="keyword">const</span> mtext *attr)<a name="l00531"></a>00531 {<a name="l00532"></a>00532     <span class="keywordtype">int</span> value = 0;<a name="l00533"></a>00533 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -