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

📄 interval_8c-source.html

📁 ORACLE编程的好东西,纯C写的OCI封装.很好用,支持数据池.
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<a name="l00154"></a>00154     OCI_CHECK_INTERVAL_ENABLED(itv-&gt;<a class="code" href="struct_o_c_i___interval.html#ccac976025720544f4d3c0d8a37bc71e">con</a>, FALSE);<a name="l00155"></a>00155 <a name="l00156"></a>00156 <span class="preprocessor">#if OCI_VERSION_COMPILE &gt;= OCI_9</span><a name="l00157"></a>00157 <span class="preprocessor"></span><a name="l00158"></a>00158     OCI_CHECK_OBJECT_FETCHED(itv, FALSE);<a name="l00159"></a>00159 <a name="l00160"></a>00160     <span class="keywordflow">if</span> (itv-&gt;<a class="code" href="struct_o_c_i___interval.html#d4b08a82e3520a5d93bebd57de8603ef">hstate</a> == OCI_OBJECT_ALLOCATED)<a name="l00161"></a>00161     {<a name="l00162"></a>00162         ub4 htype = 0;<a name="l00163"></a>00163 <a name="l00164"></a>00164         <span class="keywordflow">if</span> (itv-&gt;<a class="code" href="struct_o_c_i___interval.html#b3b19f0d39fdda427a8f5d7b97896d25">type</a> == OCI_INTERVAL_YM)<a name="l00165"></a>00165             htype = OCI_DTYPE_INTERVAL_YM;<a name="l00166"></a>00166         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (itv-&gt;<a class="code" href="struct_o_c_i___interval.html#b3b19f0d39fdda427a8f5d7b97896d25">type</a> == OCI_INTERVAL_DS)<a name="l00167"></a>00167             htype = OCI_DTYPE_INTERVAL_DS;<a name="l00168"></a>00168 <a name="l00169"></a>00169         OCI_DescriptorFree((dvoid *) itv-&gt;<a class="code" href="struct_o_c_i___interval.html#84c681371987114f46de3266758963a6">handle</a>, htype);<a name="l00170"></a>00170     }<a name="l00171"></a>00171 <a name="l00172"></a>00172     OCI_FREE(itv);<a name="l00173"></a>00173    <a name="l00174"></a>00174 <span class="preprocessor">#endif</span><a name="l00175"></a>00175 <span class="preprocessor"></span>   <a name="l00176"></a>00176    OCI_RESULT(TRUE);<a name="l00177"></a>00177 <a name="l00178"></a>00178    <span class="keywordflow">return</span> TRUE;<a name="l00179"></a>00179 }<a name="l00180"></a>00180 <a name="l00181"></a>00181 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00182"></a>00182 <span class="comment"> * OCI_IntervalGetType</span><a name="l00183"></a>00183 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00184"></a>00184 <a name="l00185"></a><a class="code" href="group__g__timestamp.html#g29704a6c17b3938c63988edc6364907e">00185</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> OCI_API <a class="code" href="group__g__timestamp.html#g29704a6c17b3938c63988edc6364907e" title="Return the type of the given Interval object.">OCI_IntervalGetType</a>(<a class="code" href="struct_o_c_i___interval.html" title="Oracle internal interval representation.">OCI_Interval</a> *itv)<a name="l00186"></a>00186 {<a name="l00187"></a>00187     OCI_CHECK_PTR(OCI_IPC_INTERVAL, itv, OCI_UNKNOWN);<a name="l00188"></a>00188 <a name="l00189"></a>00189     OCI_CHECK_INTERVAL_ENABLED(itv-&gt;<a class="code" href="struct_o_c_i___interval.html#ccac976025720544f4d3c0d8a37bc71e">con</a>, OCI_UNKNOWN);<a name="l00190"></a>00190 <a name="l00191"></a>00191     OCI_RESULT(TRUE);<a name="l00192"></a>00192 <a name="l00193"></a>00193     <span class="keywordflow">return</span> itv-&gt;<a class="code" href="struct_o_c_i___interval.html#b3b19f0d39fdda427a8f5d7b97896d25">type</a>;<a name="l00194"></a>00194 }<a name="l00195"></a>00195 <a name="l00196"></a>00196 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00197"></a>00197 <span class="comment"> * OCI_IntervalAssign</span><a name="l00198"></a>00198 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00199"></a>00199 <a name="l00200"></a><a class="code" href="group__g__timestamp.html#g479e6e2db5d78dee2b396190c577019a">00200</a> <span class="keywordtype">boolean</span> OCI_API <a class="code" href="group__g__timestamp.html#g479e6e2db5d78dee2b396190c577019a" title="Assign the value of a interval handle to another one.">OCI_IntervalAssign</a>(<a class="code" href="struct_o_c_i___interval.html" title="Oracle internal interval representation.">OCI_Interval</a> *itv,  <a class="code" href="struct_o_c_i___interval.html" title="Oracle internal interval representation.">OCI_Interval</a> *itv_src)<a name="l00201"></a>00201 {<a name="l00202"></a>00202     <span class="keywordtype">boolean</span> res = TRUE;<a name="l00203"></a>00203 <a name="l00204"></a>00204     OCI_CHECK_PTR(OCI_IPC_INTERVAL, itv,     FALSE);<a name="l00205"></a>00205     OCI_CHECK_PTR(OCI_IPC_INTERVAL, itv_src, FALSE);<a name="l00206"></a>00206     <a name="l00207"></a>00207     OCI_CHECK_INTERVAL_ENABLED(itv-&gt;<a class="code" href="struct_o_c_i___interval.html#ccac976025720544f4d3c0d8a37bc71e">con</a>, FALSE);<a name="l00208"></a>00208 <a name="l00209"></a>00209 <span class="preprocessor">#if OCI_VERSION_COMPILE &gt;= OCI_9</span><a name="l00210"></a>00210 <span class="preprocessor"></span><a name="l00211"></a>00211     OCI_CALL4<a name="l00212"></a>00212     (<a name="l00213"></a>00213         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="l00214"></a>00214         <a name="l00215"></a>00215         OCIIntervalAssign((dvoid *) OCILib.env, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#2c4130f5f96c650fd2c7854e1b7f86c1">err</a>,<a name="l00216"></a>00216                           itv_src-&gt;<a class="code" href="struct_o_c_i___interval.html#84c681371987114f46de3266758963a6">handle</a>, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#84c681371987114f46de3266758963a6">handle</a>)<a name="l00217"></a>00217     )<a name="l00218"></a>00218    <a name="l00219"></a>00219 <span class="preprocessor">#endif</span><a name="l00220"></a>00220 <span class="preprocessor"></span><a name="l00221"></a>00221     OCI_RESULT(res);<a name="l00222"></a>00222    <a name="l00223"></a>00223     <span class="keywordflow">return</span> res;<a name="l00224"></a>00224 }<a name="l00225"></a>00225 <a name="l00226"></a>00226 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00227"></a>00227 <span class="comment"> * OCI_IntervalCheck</span><a name="l00228"></a>00228 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00229"></a>00229 <a name="l00230"></a><a class="code" href="group__g__timestamp.html#g2f89edaeae7952774fff0cc0366e635f">00230</a> <span class="keywordtype">int</span> OCI_API <a class="code" href="group__g__timestamp.html#g2f89edaeae7952774fff0cc0366e635f" title="Check if the given interval is valid.">OCI_IntervalCheck</a>(<a class="code" href="struct_o_c_i___interval.html" title="Oracle internal interval representation.">OCI_Interval</a> *itv)<a name="l00231"></a>00231 {<a name="l00232"></a>00232     ub4 value   = (ub4) OCI_ERROR;<a name="l00233"></a>00233     <span class="keywordtype">boolean</span> res = TRUE;<a name="l00234"></a>00234 <a name="l00235"></a>00235     OCI_CHECK_PTR(OCI_IPC_INTERVAL, itv, OCI_ERROR);<a name="l00236"></a>00236     <a name="l00237"></a>00237     OCI_CHECK_INTERVAL_ENABLED(itv-&gt;<a class="code" href="struct_o_c_i___interval.html#ccac976025720544f4d3c0d8a37bc71e">con</a>, OCI_ERROR);<a name="l00238"></a>00238 <a name="l00239"></a>00239 <span class="preprocessor">#if OCI_VERSION_COMPILE &gt;= OCI_9</span><a name="l00240"></a>00240 <span class="preprocessor"></span><a name="l00241"></a>00241     OCI_CALL4<a name="l00242"></a>00242     (<a name="l00243"></a>00243         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="l00244"></a>00244         <a name="l00245"></a>00245         OCIIntervalCheck((dvoid *) OCILib.env, 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#84c681371987114f46de3266758963a6">handle</a>, &amp;value)<a name="l00246"></a>00246     )<a name="l00247"></a>00247 <a name="l00248"></a>00248 <a name="l00249"></a>00249 <span class="preprocessor">#endif</span><a name="l00250"></a>00250 <span class="preprocessor"></span><a name="l00251"></a>00251     OCI_RESULT(res);<a name="l00252"></a>00252    <a name="l00253"></a>00253     <span class="keywordflow">return</span> (<span class="keywordtype">int</span>) value;<a name="l00254"></a>00254 <a name="l00255"></a>00255 }<a name="l00256"></a>00256 <a name="l00257"></a>00257 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00258"></a>00258 <span class="comment"> * OCI_IntervalCompare</span><a name="l00259"></a>00259 <span class="comment"> * ----------------------------------------------------------------------- */</span><a name="l00260"></a>00260 <a name="l00261"></a><a class="code" href="group__g__timestamp.html#g136738d0987078d8ef34c9cfc109e63f">00261</a> <span class="keywordtype">int</span> OCI_API <a class="code" href="group__g__timestamp.html#g136738d0987078d8ef34c9cfc109e63f" title="Compares two interval handles.">OCI_IntervalCompare</a>(<a class="code" href="struct_o_c_i___interval.html" title="Oracle internal interval representation.">OCI_Interval</a> *itv, <a class="code" href="struct_o_c_i___interval.html" title="Oracle internal interval representation.">OCI_Interval</a> *itv2)<a name="l00262"></a>00262 {<a name="l00263"></a>00263     sword value = OCI_ERROR;<a name="l00264"></a>00264     <span class="keywordtype">boolean</span> res = TRUE;<a name="l00265"></a>00265 <a name="l00266"></a>00266     OCI_CHECK_PTR(OCI_IPC_INTERVAL, itv,  value);<a name="l00267"></a>00267     OCI_CHECK_PTR(OCI_IPC_INTERVAL, itv2, value);<a name="l00268"></a>00268     <a name="l00269"></a>00269     OCI_CHECK_INTERVAL_ENABLED(itv-&gt;<a class="code" href="struct_o_c_i___interval.html#ccac976025720544f4d3c0d8a37bc71e">con</a>, value);<a name="l00270"></a>00270 <a name="l00271"></a>00271 <span class="preprocessor">#if OCI_VERSION_COMPILE &gt;= OCI_9</span><a name="l00272"></a>00272 <span class="preprocessor"></span><a name="l00273"></a>00273     OCI_CALL4<a name="l00274"></a>00274     (<a name="l00275"></a>00275         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="l00276"></a>00276         <a name="l00277"></a>00277         OCIIntervalCompare((dvoid *) OCILib.env, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#2c4130f5f96c650fd2c7854e1b7f86c1">err</a>, itv2-&gt;<a class="code" href="struct_o_c_i___interval.html#84c681371987114f46de3266758963a6">handle</a>, <a name="l00278"></a>00278                            itv2-&gt;<a class="code" href="struct_o_c_i___interval.html#84c681371987114f46de3266758963a6">handle</a>, &amp;value)<a name="l00279"></a>00279     )<a name="l00280"></a>00280 <a name="l00281"></a>00281 <span class="preprocessor">#endif</span><a name="l00282"></a>00282 <span class="preprocessor"></span><a name="l00283"></a>00283     OCI_RESULT(res);<a name="l00284"></a>00284 <a name="l00285"></a>00285     <span class="keywordflow">return</span> (<span class="keywordtype">int</span>) value;<a name="l00286"></a>00286 }<a name="l00287"></a>00287 <a name="l00288"></a>00288 <span class="comment">/* ------------------------------------------------------------------------ *</span><a name="l00289"></a>00289 <span class="comment"> * OCI_IntervalFromText</span><a name="l00290"></a>00290 <span class="comment"> * ------------------------------------------------------------------------ */</span><a name="l00291"></a>00291 <a name="l00292"></a><a class="code" href="group__g__timestamp.html#g7f325860c2e5f311309e04556d2a4635">00292</a> <span class="keywordtype">boolean</span> OCI_API <a class="code" href="group__g__timestamp.html#g7f325860c2e5f311309e04556d2a4635" title="Convert a string to an interval and store it in the given interval handle.">OCI_IntervalFromText</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="l00293"></a>00293 {<a name="l00294"></a>00294     <span class="keywordtype">boolean</span> res = TRUE;<a name="l00295"></a>00295     <span class="keywordtype">void</span> *ostr  = NULL;<a name="l00296"></a>00296     <span class="keywordtype">int</span>  osize  = -1;<a name="l00297"></a>00297 <a name="l00298"></a>00298     OCI_CHECK_PTR(OCI_IPC_INTERVAL, itv, FALSE);<a name="l00299"></a>00299     OCI_CHECK_PTR(OCI_IPC_STRING, str, FALSE);<a name="l00300"></a>00300     <a name="l00301"></a>00301     OCI_CHECK_INTERVAL_ENABLED(itv-&gt;<a class="code" href="struct_o_c_i___interval.html#ccac976025720544f4d3c0d8a37bc71e">con</a>, FALSE);<a name="l00302"></a>00302 <a name="l00303"></a>00303 <span class="preprocessor">#if OCI_VERSION_COMPILE &gt;= OCI_9</span><a name="l00304"></a>00304 <span class="preprocessor"></span><a name="l00305"></a>00305     ostr = OCI_GetInputMetaString(str, &amp;osize);<a name="l00306"></a>00306  <a name="l00307"></a>00307     OCI_CALL4<a name="l00308"></a>00308     (<a name="l00309"></a>00309         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="l00310"></a>00310         <a name="l00311"></a>00311         OCIIntervalFromText((dvoid *) OCILib.env, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#2c4130f5f96c650fd2c7854e1b7f86c1">err</a>, (OraText *) ostr, <a name="l00312"></a>00312                             (<span class="keywordtype">size_t</span>) osize, itv-&gt;<a class="code" href="struct_o_c_i___interval.html#84c681371987114f46de3266758963a6">handle</a>)<a name="l00313"></a>00313     )<a name="l00314"></a>00314     <a name="l00315"></a>00315     OCI_ReleaseMetaString(ostr);<a name="l00316"></a>00316 <a name="l00317"></a>00317 <span class="preprocessor">#else</span><a name="l00318"></a>00318 <span class="preprocessor"></span><a name="l00319"></a>00319     OCI_NOT_USED(str);<a name="l00320"></a>00320     OCI_NOT_USED(ostr);<a name="l00321"></a>00321     OCI_NOT_USED(osize);    

⌨️ 快捷键说明

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