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

📄 timestamp_8c-source.html

📁 ORACLE编程的好东西,纯C写的OCI封装.很好用,支持数据池.
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00424"></a>00424     <span class="keywordtype">boolean</span> res = TRUE;<a name="l00425"></a>00425     <span class="keywordtype">void</span> *ostr1 = NULL;<a name="l00426"></a>00426     <span class="keywordtype">void</span> *ostr2 = NULL;<a name="l00427"></a>00427     <span class="keywordtype">int</span>  osize1 = size*<span class="keyword">sizeof</span>(mtext);<a name="l00428"></a>00428     <span class="keywordtype">int</span>  osize2 = -1;<a name="l00429"></a>00429 <a name="l00430"></a>00430     OCI_CHECK_PTR(OCI_IPC_TIMESTAMP, tmsp, FALSE);<a name="l00431"></a>00431     OCI_CHECK_PTR(OCI_IPC_STRING, str,  FALSE);<a name="l00432"></a>00432     OCI_CHECK_PTR(OCI_IPC_STRING, fmt,  FALSE);<a name="l00433"></a>00433 <a name="l00434"></a>00434     <span class="comment">/* init output buffer in case of OCI failure */</span><a name="l00435"></a>00435  <a name="l00436"></a>00436     str[0] = 0;<a name="l00437"></a>00437 <a name="l00438"></a>00438     OCI_CHECK_TIMESTAMP_ENABLED(tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#8d58d5aabe4cf9100bfdfc8428fbc234">con</a>, FALSE);<a name="l00439"></a>00439 <a name="l00440"></a>00440 <span class="preprocessor">#if OCI_VERSION_COMPILE &gt;= OCI_9</span><a name="l00441"></a>00441 <span class="preprocessor"></span><a name="l00442"></a>00442     ostr1 = OCI_GetInputMetaString(str, &amp;osize1);<a name="l00443"></a>00443     ostr2 = OCI_GetInputMetaString(fmt, &amp;osize2);<a name="l00444"></a>00444 <a name="l00445"></a>00445     OCI_CALL4<a name="l00446"></a>00446     (<a name="l00447"></a>00447         res, tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#a63a28fecaeb556596429ac636329b22">err</a>, tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#8d58d5aabe4cf9100bfdfc8428fbc234">con</a>,<a name="l00448"></a>00448         <a name="l00449"></a>00449         OCIDateTimeToText((dvoid *) OCILib.env, tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#a63a28fecaeb556596429ac636329b22">err</a>,<a name="l00450"></a>00450                            tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#fc374755147e6be3141d875fdad3cf8a">handle</a>, (OraText *) ostr2, <a name="l00451"></a>00451                            (ub1) osize2, (ub1) precision, <a name="l00452"></a>00452                            (OraText *) NULL, (<span class="keywordtype">size_t</span>) 0, <a name="l00453"></a>00453                            (ub4*) &amp;osize1, (OraText *) ostr1)<a name="l00454"></a>00454                                      <a name="l00455"></a>00455     )<a name="l00456"></a>00456 <a name="l00457"></a>00457     OCI_GetOutputMetaString(ostr1, str, &amp;osize1);<a name="l00458"></a>00458 <a name="l00459"></a>00459     OCI_ReleaseMetaString(ostr1);<a name="l00460"></a>00460     OCI_ReleaseMetaString(ostr2);<a name="l00461"></a>00461 <a name="l00462"></a>00462     <span class="comment">/* set null string terminator */</span><a name="l00463"></a>00463 <a name="l00464"></a>00464     str[osize1/<span class="keyword">sizeof</span>(mtext)] = 0;<a name="l00465"></a>00465 <a name="l00466"></a>00466 <span class="preprocessor">#else</span><a name="l00467"></a>00467 <span class="preprocessor"></span><a name="l00468"></a>00468     OCI_NOT_USED(ostr1);<a name="l00469"></a>00469     OCI_NOT_USED(ostr2);<a name="l00470"></a>00470     OCI_NOT_USED(osize1);<a name="l00471"></a>00471     OCI_NOT_USED(osize2);<a name="l00472"></a>00472     OCI_NOT_USED(precision);<a name="l00473"></a>00473 <a name="l00474"></a>00474 <span class="preprocessor">#endif</span><a name="l00475"></a>00475 <span class="preprocessor"></span><a name="l00476"></a>00476    OCI_RESULT(res);<a name="l00477"></a>00477 <a name="l00478"></a>00478    <span class="keywordflow">return</span> res;<a name="l00479"></a>00479 }<a name="l00480"></a>00480 <a name="l00481"></a>00481 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00482"></a>00482 <span class="comment"> * OCI_TimestampGetDate</span><a name="l00483"></a>00483 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00484"></a>00484 <a name="l00485"></a><a class="code" href="group__g__timestamp.html#ge8b95bad27ed1bce2e9753e30d3fa26b">00485</a> <span class="keywordtype">boolean</span> OCI_API <a class="code" href="group__g__timestamp.html#ge8b95bad27ed1bce2e9753e30d3fa26b" title="Extract the date part from a timestamp handle.">OCI_TimestampGetDate</a>(<a class="code" href="struct_o_c_i___timestamp.html" title="Oracle internal timespamp representation.">OCI_Timestamp</a> *tmsp, <span class="keywordtype">int</span> *year, <span class="keywordtype">int</span> *month,<a name="l00486"></a>00486                                      <span class="keywordtype">int</span> *day)<a name="l00487"></a>00487 {<a name="l00488"></a>00488     <span class="keywordtype">boolean</span> res = TRUE;<a name="l00489"></a>00489 <a name="l00490"></a>00490     OCI_CHECK_PTR(OCI_IPC_TIMESTAMP, tmsp, FALSE);<a name="l00491"></a>00491 <a name="l00492"></a>00492     OCI_CHECK_PTR(OCI_IPC_INT, year,  FALSE);<a name="l00493"></a>00493     OCI_CHECK_PTR(OCI_IPC_INT, month, FALSE);<a name="l00494"></a>00494     OCI_CHECK_PTR(OCI_IPC_INT, day,   FALSE);<a name="l00495"></a>00495 <a name="l00496"></a>00496     OCI_CHECK_TIMESTAMP_ENABLED(tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#8d58d5aabe4cf9100bfdfc8428fbc234">con</a>, FALSE);<a name="l00497"></a>00497 <a name="l00498"></a>00498     *year  = 0;<a name="l00499"></a>00499     *month = 0;<a name="l00500"></a>00500     *day   = 0;<a name="l00501"></a>00501 <a name="l00502"></a>00502 <span class="preprocessor">#if OCI_VERSION_COMPILE &gt;= OCI_9</span><a name="l00503"></a>00503 <span class="preprocessor"></span><a name="l00504"></a>00504     OCI_CALL4<a name="l00505"></a>00505     (<a name="l00506"></a>00506         res, tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#a63a28fecaeb556596429ac636329b22">err</a>, tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#8d58d5aabe4cf9100bfdfc8428fbc234">con</a>,<a name="l00507"></a>00507         <a name="l00508"></a>00508         OCIDateTimeGetDate((dvoid *) OCILib.env, tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#a63a28fecaeb556596429ac636329b22">err</a>, tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#fc374755147e6be3141d875fdad3cf8a">handle</a>,<a name="l00509"></a>00509                            (sb2 *) year, (ub1 *) month, (ub1 *) day)<a name="l00510"></a>00510     )<a name="l00511"></a>00511 <a name="l00512"></a>00512 <span class="preprocessor">#else</span><a name="l00513"></a>00513 <span class="preprocessor"></span><a name="l00514"></a>00514     OCI_NOT_USED(year);<a name="l00515"></a>00515     OCI_NOT_USED(month);<a name="l00516"></a>00516     OCI_NOT_USED(day);<a name="l00517"></a>00517 <a name="l00518"></a>00518 <span class="preprocessor">#endif</span><a name="l00519"></a>00519 <span class="preprocessor"></span><a name="l00520"></a>00520    OCI_RESULT(res);<a name="l00521"></a>00521 <a name="l00522"></a>00522    <span class="keywordflow">return</span> res;<a name="l00523"></a>00523 }<a name="l00524"></a>00524 <a name="l00525"></a>00525 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00526"></a>00526 <span class="comment"> * OCI_TimestampGetTime</span><a name="l00527"></a>00527 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00528"></a>00528 <a name="l00529"></a><a class="code" href="group__g__timestamp.html#g4c56996d6dc31b7a4373daa0018c88e1">00529</a> <span class="keywordtype">boolean</span> OCI_API <a class="code" href="group__g__timestamp.html#g4c56996d6dc31b7a4373daa0018c88e1" title="Extract the time portion from a timestamp handle.">OCI_TimestampGetTime</a>(<a class="code" href="struct_o_c_i___timestamp.html" title="Oracle internal timespamp representation.">OCI_Timestamp</a> *tmsp, <span class="keywordtype">int</span> *hour, <span class="keywordtype">int</span> *min,<a name="l00530"></a>00530                                     <span class="keywordtype">int</span> *sec, <span class="keywordtype">int</span> *fsec)<a name="l00531"></a>00531 {<a name="l00532"></a>00532     <span class="keywordtype">boolean</span> res = TRUE;<a name="l00533"></a>00533 <a name="l00534"></a>00534     OCI_CHECK_PTR(OCI_IPC_TIMESTAMP, tmsp, FALSE);<a name="l00535"></a>00535 <a name="l00536"></a>00536     OCI_CHECK_PTR(OCI_IPC_INT, hour, FALSE);<a name="l00537"></a>00537     OCI_CHECK_PTR(OCI_IPC_INT, min,  FALSE);<a name="l00538"></a>00538     OCI_CHECK_PTR(OCI_IPC_INT, sec,  FALSE);<a name="l00539"></a>00539     OCI_CHECK_PTR(OCI_IPC_INT, fsec, FALSE);<a name="l00540"></a>00540 <a name="l00541"></a>00541     OCI_CHECK_TIMESTAMP_ENABLED(tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#8d58d5aabe4cf9100bfdfc8428fbc234">con</a>, FALSE);<a name="l00542"></a>00542 <a name="l00543"></a>00543     *hour = 0;<a name="l00544"></a>00544     *min  = 0;<a name="l00545"></a>00545     *sec  = 0;<a name="l00546"></a>00546     *fsec = 0;<a name="l00547"></a>00547 <a name="l00548"></a>00548 <span class="preprocessor">#if OCI_VERSION_COMPILE &gt;= OCI_9</span><a name="l00549"></a>00549 <span class="preprocessor"></span><a name="l00550"></a>00550     OCI_CALL4<a name="l00551"></a>00551     (<a name="l00552"></a>00552         res, tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#a63a28fecaeb556596429ac636329b22">err</a>, tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#8d58d5aabe4cf9100bfdfc8428fbc234">con</a>,<a name="l00553"></a>00553         <a name="l00554"></a>00554         OCIDateTimeGetTime((dvoid *) OCILib.env, tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#a63a28fecaeb556596429ac636329b22">err</a>, tmsp-&gt;<a class="code" href="struct_o_c_i___timestamp.html#fc374755147e6be3141d875fdad3cf8a">handle</a>,<a name="l00555"></a>00555                            (ub1*) hour, (ub1*) min, (ub1*) sec, (ub4*) fsec)<a name="l00556"></a>00556     )<a name="l00557"></a>00557 <a name="l00558"></a>00558 <span class="preprocessor">#else</span><a name="l00559"></a>00559 <span class="preprocessor"></span><a name="l00560"></a>00560     OCI_NOT_USED(hour);<a name="l00561"></a>00561     OCI_NOT_USED(min);<a name="l00562"></a>00562     OCI_NOT_USED(sec);<a name="l00563"></a>00563     OCI_NOT_USED(fsec);<a name="l00564"></a>00564 <a name="l00565"></a>00565 <span class="preprocessor">#endif</span><a name="l00566"></a>00566 <span class="preprocessor"></span><a name="l00567"></a>00567    OCI_RESULT(res);<a name="l00568"></a>00568 <a name="l00569"></a>00569    <span class="keywordflow">return</span> res;

⌨️ 快捷键说明

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