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

📄 ex19_8c-example.html

📁 Linux下的操作oracle数据库的连接库
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>libsqlora8: Example Documentation</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.6 --><div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <a class="qindex" href="examples.html">Examples</a></div><h1>ex19.c</h1>Example for selecting from a nested table. <div class="fragment"><pre><span class="comment">/* $Id: ex19.c,v 1.4 2002/08/24 12:54:47 kpoitschke Exp $ */</span><span class="preprocessor">#include &lt;stdio.h&gt;</span><span class="preprocessor">#include &lt;stdlib.h&gt;</span><span class="preprocessor">#include "examples.h"</span><span class="keywordtype">int</span> select_ntable(<a class="code" href="group__typedefs.html#ga0">sqlo_db_handle_t</a> dbh){  <a class="code" href="group__typedefs.html#ga1">sqlo_stmt_handle_t</a> sth = <a class="code" href="group__constants.html#gga5a49">SQLO_STH_INIT</a>;  <a class="code" href="group__typedefs.html#ga1">sqlo_stmt_handle_t</a> st2h;                     <span class="comment">/* handle of the ref cursor */</span>  <span class="keywordtype">int</span> status;  <span class="keywordtype">char</span> ename[11];  <span class="keywordtype">char</span> dname[15];  <span class="keywordtype">char</span> loc[14];  <span class="keywordtype">short</span> eind, dind, lind;  <span class="keywordtype">int</span> deptno = 10;               <span class="comment">/* don't know why the bind variable for deptno causes a crash */</span>  CONST <span class="keywordtype">char</span> * stmt =     <span class="stringliteral">"SELECT ENAME, CURSOR(SELECT DNAME, LOC FROM DEPT)\n"</span>    <span class="stringliteral">"  FROM EMP WHERE DEPTNO = :deptno"</span>;  <span class="comment">/* parse the statement */</span>  <span class="keywordflow">if</span> ( 0 &lt;= (sth = <a name="a60"></a><a class="code" href="group__complex.html#ga186">sqlo_prepare</a>(dbh, stmt))) {    <span class="comment">/* bind all variables */</span>    <span class="keywordflow">if</span> (<a class="code" href="group__constants.html#gga3a25">SQLO_SUCCESS</a> !=         (<a name="a61"></a><a class="code" href="group__complex.html#ga187">sqlo_bind_by_name</a>(sth, <span class="stringliteral">":deptno"</span>, SQLOT_INT, &amp;deptno, <span class="keyword">sizeof</span>(deptno), 0, 0) ) ) {      error_exit(dbh, <span class="stringliteral">"sqlo_bind_by_name"</span>);    }     <span class="comment">/* Do the defines */</span>    <span class="comment">/* You could also do: sqlo_define_by_pos(sth, 2, SQLOT_RSET, &amp;st2h, 0, 0, 0, 0) */</span>    <span class="keywordflow">if</span> (<a class="code" href="group__constants.html#gga3a25">SQLO_SUCCESS</a> !=         ( <a name="a62"></a><a class="code" href="group__complex.html#ga192">sqlo_define_by_pos</a>(sth, 1, SQLOT_STR, ename, <span class="keyword">sizeof</span>(ename), &amp;eind, 0, 0) ) ||        ( <a name="a63"></a><a class="code" href="group__complex.html#ga7">sqlo_define_ntable</a>(sth, 2, &amp;st2h)))      error_exit(dbh, <span class="stringliteral">"sqlo_define_ntable"</span>);        <span class="comment">/* execute the main statement */</span>    <span class="keywordflow">if</span> (<a class="code" href="group__constants.html#gga3a25">SQLO_SUCCESS</a> != <a name="a64"></a><a class="code" href="group__complex.html#ga194">sqlo_execute</a>(sth, 1))      error_exit(dbh, <span class="stringliteral">"sqlo_execute"</span>);        <span class="comment">/* fetch from the main statement */</span>    <span class="keywordflow">while</span> (<a class="code" href="group__constants.html#gga3a25">SQLO_SUCCESS</a> == (status = <a name="a65"></a><a class="code" href="group__easy.html#ga167">sqlo_fetch</a>(sth, 1))) {      printf(<span class="stringliteral">"ENAME=%11s\n"</span>, ename);      <span class="comment">/* define the output of the second cursor */</span>      <span class="keywordflow">if</span> (<a class="code" href="group__constants.html#gga3a25">SQLO_SUCCESS</a> !=           ( <a class="code" href="group__complex.html#ga192">sqlo_define_by_pos</a>(st2h, 1, SQLOT_STR, dname, <span class="keyword">sizeof</span>(dname), &amp;dind, 0, 0) ) ||          ( <a class="code" href="group__complex.html#ga192">sqlo_define_by_pos</a>(st2h, 2, SQLOT_STR, loc, <span class="keyword">sizeof</span>(loc), &amp;lind, 0, 0) ) )  {          error_exit(dbh, <span class="stringliteral">"sqlo_define_by_pos"</span>);        }      <span class="comment">/* execute the cursor */</span>      <span class="keywordflow">if</span>(<a class="code" href="group__constants.html#gga3a25">SQLO_SUCCESS</a> != <a class="code" href="group__complex.html#ga194">sqlo_execute</a>(st2h, 1))        error_exit(dbh, <span class="stringliteral">"sqlo_execute"</span>);      <span class="comment">/* fetch from the second cursor */</span>      <span class="keywordflow">while</span> (<a class="code" href="group__constants.html#gga3a25">SQLO_SUCCESS</a> == (status = <a class="code" href="group__easy.html#ga167">sqlo_fetch</a>(st2h, 1))) {        printf(<span class="stringliteral">"    DNAME=%15s LOC=%15s\n"</span>, dname, loc);      }      <span class="keywordflow">if</span> (status != <a class="code" href="group__constants.html#gga3a32">SQLO_NO_DATA</a>)        error_exit(dbh, <span class="stringliteral">"sqlo_fetch(st2)"</span>);    }        <span class="keywordflow">if</span> (<a class="code" href="group__constants.html#gga3a25">SQLO_SUCCESS</a> != <a name="a66"></a><a class="code" href="group__easy.html#ga172">sqlo_close</a>(sth))      error_exit(dbh, <span class="stringliteral">"sqlo_close(1)"</span>);        <span class="keywordflow">if</span> (<a class="code" href="group__constants.html#gga3a25">SQLO_SUCCESS</a> != <a class="code" href="group__easy.html#ga172">sqlo_close</a>(st2h))      error_exit(dbh, <span class="stringliteral">"sqlo_close(2)"</span>);      } <span class="keywordflow">else</span> {    error_exit(dbh, <span class="stringliteral">"sqlo_prepare"</span>);  }  <span class="keywordflow">return</span> 1;}<span class="comment">/* $Id: ex19.c,v 1.4 2002/08/24 12:54:47 kpoitschke Exp $ */</span></pre></div> <hr size="1"><address style="align: right;"><small>Generated on Sun Jun 13 04:51:41 2004 for libsqlora8 by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.6 </small></address></body></html>

⌨️ 快捷键说明

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