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

📄 interval_8c-source.html

📁 ORACLE编程的好东西,纯C写的OCI封装.很好用,支持数据池.
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<a name="l00322"></a>00322 <a name="l00323"></a>00323 <span class="preprocessor">#endif</span><a name="l00324"></a>00324 <span class="preprocessor"></span><a name="l00325"></a>00325    OCI_RESULT(res);<a name="l00326"></a>00326 <a name="l00327"></a>00327    <a name="l00328"></a>00328    <span class="keywordflow">return</span> res;<a name="l00329"></a>00329 }<a name="l00330"></a>00330 <a name="l00331"></a>00331 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00332"></a>00332 <span class="comment"> * OCI_IntervalToText</span><a name="l00333"></a>00333 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00334"></a>00334 <a name="l00335"></a><a class="code" href="group__g__timestamp.html#g42e529414447c9e906916029cfc5895f">00335</a> <span class="keywordtype">boolean</span> OCI_API <a class="code" href="group__g__timestamp.html#g42e529414447c9e906916029cfc5895f" title="Convert an interval value from the given interval handle to a string.">OCI_IntervalToText</a>(<a class="code" href="struct_o_c_i___interval.html" title="Oracle internal interval representation.">OCI_Interval</a> *itv, <span class="keywordtype">int</span> leading_prec,<a name="l00336"></a>00336                                     <span class="keywordtype">int</span> fraction_prec, <span class="keywordtype">int</span> size, mtext *str)<a name="l00337"></a>00337 {<a name="l00338"></a>00338     <span class="keywordtype">boolean</span> res = TRUE;<a name="l00339"></a>00339     <span class="keywordtype">void</span> *ostr  = NULL;<a name="l00340"></a>00340     <span class="keywordtype">int</span> osize   = size * <span class="keyword">sizeof</span>(mtext);<a name="l00341"></a>00341 <a name="l00342"></a>00342     OCI_CHECK_PTR(OCI_IPC_INTERVAL, itv, FALSE);<a name="l00343"></a>00343     OCI_CHECK_PTR(OCI_IPC_STRING, str, FALSE);<a name="l00344"></a>00344  <a name="l00345"></a>00345     OCI_CHECK_INTERVAL_ENABLED(itv-&gt;<a class="code" href="struct_o_c_i___interval.html#ccac976025720544f4d3c0d8a37bc71e">con</a>, FALSE);<a name="l00346"></a>00346  <a name="l00347"></a>00347     <span class="comment">/* init output buffer in case of OCI failure */</span><a name="l00348"></a>00348     <a name="l00349"></a>00349     str[0] = 0;<a name="l00350"></a>00350 <a name="l00351"></a>00351 <span class="preprocessor">#if OCI_VERSION_COMPILE &gt;= OCI_9</span><a name="l00352"></a>00352 <span class="preprocessor"></span><a name="l00353"></a>00353     ostr = OCI_GetInputMetaString(str, &amp;osize);<a name="l00354"></a>00354  <a name="l00355"></a>00355     OCI_CALL4<a name="l00356"></a>00356     (<a name="l00357"></a>00357         res, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#2c4130f5f96c650fd2c7854e1b7f86c1">err</a>, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#ccac976025720544f4d3c0d8a37bc71e">con</a>,<a name="l00358"></a>00358         <a name="l00359"></a>00359         OCIIntervalToText((dvoid *) OCILib.env, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#2c4130f5f96c650fd2c7854e1b7f86c1">err</a>,<a name="l00360"></a>00360                           (OCIInterval *) itv-&gt;<a class="code" href="struct_o_c_i___interval.html#84c681371987114f46de3266758963a6">handle</a>,<a name="l00361"></a>00361                           (ub1) leading_prec, (ub1) fraction_prec,<a name="l00362"></a>00362                           (OraText *) ostr, (<span class="keywordtype">size_t</span>) osize, <a name="l00363"></a>00363                           (<span class="keywordtype">size_t</span> *) &amp;osize)<a name="l00364"></a>00364     )<a name="l00365"></a>00365  <a name="l00366"></a>00366     OCI_GetOutputMetaString(ostr, str, &amp;osize);<a name="l00367"></a>00367     OCI_ReleaseMetaString(ostr);<a name="l00368"></a>00368 <a name="l00369"></a>00369     <span class="comment">/* set null string terminator */</span><a name="l00370"></a>00370 <a name="l00371"></a>00371     str[osize/<span class="keyword">sizeof</span>(mtext)] = 0;<a name="l00372"></a>00372 <a name="l00373"></a>00373 <span class="preprocessor">#else</span><a name="l00374"></a>00374 <span class="preprocessor"></span><a name="l00375"></a>00375     OCI_NOT_USED(str);<a name="l00376"></a>00376     OCI_NOT_USED(ostr);<a name="l00377"></a>00377     OCI_NOT_USED(size);    <a name="l00378"></a>00378     OCI_NOT_USED(osize);    <a name="l00379"></a>00379     OCI_NOT_USED(leading_prec);    <a name="l00380"></a>00380     OCI_NOT_USED(fraction_prec);    <a name="l00381"></a>00381 <a name="l00382"></a>00382 <span class="preprocessor">#endif</span><a name="l00383"></a>00383 <span class="preprocessor"></span><a name="l00384"></a>00384     OCI_RESULT(res);<a name="l00385"></a>00385    <a name="l00386"></a>00386     <span class="keywordflow">return</span> res;<a name="l00387"></a>00387 }<a name="l00388"></a>00388 <a name="l00389"></a>00389 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00390"></a>00390 <span class="comment"> * OCI_IntervalFromTimeZone</span><a name="l00391"></a>00391 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00392"></a>00392 <a name="l00393"></a><a class="code" href="group__g__timestamp.html#g144fa5b4841b3a8ebced991c3639ba00">00393</a> <span class="keywordtype">boolean</span> OCI_API <a class="code" href="group__g__timestamp.html#g144fa5b4841b3a8ebced991c3639ba00" title="Correct an interval handle value with the given time zone.">OCI_IntervalFromTimeZone</a>(<a class="code" href="struct_o_c_i___interval.html" title="Oracle internal interval representation.">OCI_Interval</a> *itv, <span class="keyword">const</span> mtext * str)<a name="l00394"></a>00394 {<a name="l00395"></a>00395     <span class="keywordtype">boolean</span> res = TRUE;<a name="l00396"></a>00396     <span class="keywordtype">void</span> *ostr  = NULL;<a name="l00397"></a>00397     <span class="keywordtype">int</span> osize   = -1;<a name="l00398"></a>00398 <a name="l00399"></a>00399     OCI_CHECK_PTR(OCI_IPC_INTERVAL, itv, FALSE);<a name="l00400"></a>00400     OCI_CHECK_PTR(OCI_IPC_STRING, str, FALSE);<a name="l00401"></a>00401     <a name="l00402"></a>00402     OCI_CHECK_INTERVAL_ENABLED(itv-&gt;<a class="code" href="struct_o_c_i___interval.html#ccac976025720544f4d3c0d8a37bc71e">con</a>, FALSE);<a name="l00403"></a>00403 <a name="l00404"></a>00404 <span class="preprocessor">#if OCI_VERSION_COMPILE &gt;= OCI_9</span><a name="l00405"></a>00405 <span class="preprocessor"></span><a name="l00406"></a>00406     ostr = OCI_GetInputMetaString(str, &amp;osize);<a name="l00407"></a>00407   <a name="l00408"></a>00408     OCI_CALL4<a name="l00409"></a>00409     (<a name="l00410"></a>00410         res, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#2c4130f5f96c650fd2c7854e1b7f86c1">err</a>, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#ccac976025720544f4d3c0d8a37bc71e">con</a>,<a name="l00411"></a>00411         <a name="l00412"></a>00412         OCIIntervalFromTZ((dvoid *) OCILib.env, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#2c4130f5f96c650fd2c7854e1b7f86c1">err</a>,  (OraText *) ostr,<a name="l00413"></a>00413                           (<span class="keywordtype">size_t</span>) osize, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#84c681371987114f46de3266758963a6">handle</a>)<a name="l00414"></a>00414     )<a name="l00415"></a>00415 <a name="l00416"></a>00416     OCI_ReleaseMetaString(ostr);<a name="l00417"></a>00417 <a name="l00418"></a>00418 <span class="preprocessor">#else</span><a name="l00419"></a>00419 <span class="preprocessor"></span><a name="l00420"></a>00420     OCI_NOT_USED(str);<a name="l00421"></a>00421     OCI_NOT_USED(ostr);<a name="l00422"></a>00422     OCI_NOT_USED(osize);    <a name="l00423"></a>00423 <a name="l00424"></a>00424 <span class="preprocessor">#endif</span><a name="l00425"></a>00425 <span class="preprocessor"></span><a name="l00426"></a>00426     OCI_RESULT(res);<a name="l00427"></a>00427 <a name="l00428"></a>00428     <span class="keywordflow">return</span> res;<a name="l00429"></a>00429 }<a name="l00430"></a>00430 <a name="l00431"></a>00431 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00432"></a>00432 <span class="comment"> * OCI_IntervalGetDaySecond</span><a name="l00433"></a>00433 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00434"></a>00434 <a name="l00435"></a><a class="code" href="group__g__timestamp.html#g165e94c916375ea604737a2348c4d83b">00435</a> <span class="keywordtype">boolean</span> OCI_API <a class="code" href="group__g__timestamp.html#g165e94c916375ea604737a2348c4d83b" title="Return the day / time portion of an interval handle.">OCI_IntervalGetDaySecond</a>(<a class="code" href="struct_o_c_i___interval.html" title="Oracle internal interval representation.">OCI_Interval</a> *itv, <span class="keywordtype">int</span> *day, <span class="keywordtype">int</span> *hour,<a name="l00436"></a>00436                                          <span class="keywordtype">int</span> *min, <span class="keywordtype">int</span> *sec, <span class="keywordtype">int</span> *fsec)<a name="l00437"></a>00437 {<a name="l00438"></a>00438     <span class="keywordtype">boolean</span> res = TRUE;<a name="l00439"></a>00439 <a name="l00440"></a>00440     OCI_CHECK_PTR(OCI_IPC_INTERVAL, itv, FALSE);<a name="l00441"></a>00441     OCI_CHECK_PTR(OCI_IPC_INT, hour, FALSE);<a name="l00442"></a>00442     OCI_CHECK_PTR(OCI_IPC_INT, min , FALSE);<a name="l00443"></a>00443     OCI_CHECK_PTR(OCI_IPC_INT, sec,  FALSE);<a name="l00444"></a>00444     OCI_CHECK_PTR(OCI_IPC_INT, fsec, FALSE);<a name="l00445"></a>00445 <a name="l00446"></a>00446     OCI_CHECK_INTERVAL_ENABLED(itv-&gt;<a class="code" href="struct_o_c_i___interval.html#ccac976025720544f4d3c0d8a37bc71e">con</a>, FALSE);<a name="l00447"></a>00447 <a name="l00448"></a>00448     *day  = 0;<a name="l00449"></a>00449     *hour = 0;<a name="l00450"></a>00450     *min  = 0;<a name="l00451"></a>00451     *sec  = 0;<a name="l00452"></a>00452     *fsec = 0;<a name="l00453"></a>00453 <a name="l00454"></a>00454 <span class="preprocessor">#if OCI_VERSION_COMPILE &gt;= OCI_9</span><a name="l00455"></a>00455 <span class="preprocessor"></span><a name="l00456"></a>00456     OCI_CALL4<a name="l00457"></a>00457     (<a name="l00458"></a>00458         res, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#2c4130f5f96c650fd2c7854e1b7f86c1">err</a>, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#ccac976025720544f4d3c0d8a37bc71e">con</a>,<a name="l00459"></a>00459         <a name="l00460"></a>00460         OCIIntervalGetDaySecond((dvoid *) OCILib.env, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#2c4130f5f96c650fd2c7854e1b7f86c1">err</a>,<a name="l00461"></a>00461                                 (sb4 *) day, (sb4 *) hour, (sb4 *) min,<a name="l00462"></a>00462                                 (sb4 *) sec, (sb4 *) fsec, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#84c681371987114f46de3266758963a6">handle</a>)<a name="l00463"></a>00463     )<a name="l00464"></a>00464     <a name="l00465"></a>00465 <span class="preprocessor">#else</span><a name="l00466"></a>00466 <span class="preprocessor"></span><a name="l00467"></a>00467     OCI_NOT_USED(day);<a name="l00468"></a>00468     OCI_NOT_USED(hour);<a name="l00469"></a>00469     OCI_NOT_USED(min);    <a name="l00470"></a>00470     OCI_NOT_USED(sec);    <a name="l00471"></a>00471     OCI_NOT_USED(fsec);    <a name="l00472"></a>00472 <a name="l00473"></a>00473 <span class="preprocessor">#endif</span><a name="l00474"></a>00474 <span class="preprocessor"></span><a name="l00475"></a>00475     OCI_RESULT(res);<a name="l00476"></a>00476 <a name="l00477"></a>00477     <span class="keywordflow">return</span> res;<a name="l00478"></a>00478 }<a name="l00479"></a>00479 <a name="l00480"></a>00480 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00481"></a>00481 <span class="comment"> * OCI_IntervalGetYearMonth</span><a name="l00482"></a>00482 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00483"></a>00483 <a name="l00484"></a><a class="code" href="group__g__timestamp.html#gf0632925b430ad8ff145e29936b7b592">00484</a> <span class="keywordtype">boolean</span> OCI_API <a class="code" href="group__g__timestamp.html#gf0632925b430ad8ff145e29936b7b592" title="Return the year / month portion of an interval handle.">OCI_IntervalGetYearMonth</a>(<a class="code" href="struct_o_c_i___interval.html" title="Oracle internal interval representation.">OCI_Interval</a> *itv, <span class="keywordtype">int</span> *year, <span class="keywordtype">int</span> *month)<a name="l00485"></a>00485 {<a name="l00486"></a>00486     <span class="keywordtype">boolean</span> res = FALSE;<a name="l00487"></a>00487 <a name="l00488"></a>00488     OCI_CHECK_PTR(OCI_IPC_INTERVAL, itv, FALSE);<a name="l00489"></a>00489     OCI_CHECK_PTR(OCI_IPC_INT, year,  FALSE);

⌨️ 快捷键说明

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