📄 object_8c-source.html
字号:
<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, &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-><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-><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-><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-><a class="code" href="struct_o_c_i___object.html#8bde19100472fa2836e320e8e0878954">con</a>-><a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, obj-><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-><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-><a class="code" href="struct_o_c_i___object.html#8bde19100472fa2836e320e8e0878954">con</a>, obj-><a class="code" href="struct_o_c_i___object.html#3b23cdc6b101eac16f640e27e8fa1044">typinf</a> == obj_src-><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-><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-><a class="code" href="struct_o_c_i___object.html#8bde19100472fa2836e320e8e0878954">con</a>-><a class="code" href="struct_o_c_i___connection.html#573a359867139990b1b0f50aa7a86175">err</a>, obj-><a class="code" href="struct_o_c_i___object.html#8bde19100472fa2836e320e8e0878954">con</a>-><a class="code" href="struct_o_c_i___connection.html#f20d1bea40e79481aeece933a4c70898">cxt</a>,<a name="l00481"></a>00481 obj_src-><a class="code" href="struct_o_c_i___object.html#68ed912c697729f379e568beb84236c9">handle</a>, (obj_src-><a class="code" href="struct_o_c_i___object.html#8fb7cb47efd9e3c3f163e9164756a7fd">tab_ind</a> + obj_src-><a class="code" href="struct_o_c_i___object.html#26cdcc079b93a3e5c0a056d9d4ae7823">idx_ind</a>),<a name="l00482"></a>00482 obj-><a class="code" href="struct_o_c_i___object.html#68ed912c697729f379e568beb84236c9">handle</a>, (obj-><a class="code" href="struct_o_c_i___object.html#8fb7cb47efd9e3c3f163e9164756a7fd">tab_ind</a> + obj-><a class="code" href="struct_o_c_i___object.html#26cdcc079b93a3e5c0a056d9d4ae7823">idx_ind</a>),<a name="l00483"></a>00483 obj-><a class="code" href="struct_o_c_i___object.html#3b23cdc6b101eac16f640e27e8fa1044">typinf</a>-><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-><a class="code" href="struct_o_c_i___object.html#3b23cdc6b101eac16f640e27e8fa1044">typinf</a> = obj_src-><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, &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, &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 + -