Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > ce0cb4aec597dde3226843045ded906f > files > 196

freetds-doc-0.91-1.fc14.x86_64.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>FreeTDS API: Remote Procedure functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Remote Procedure functions<br/>
<small>
[<a class="el" href="a00285.html">The db-lib API</a>]</small>
</h1>
<p>Functions used with stored procedures.  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBBOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#ga7a5062dac92ccedc8459f6d4a530ffb7">dbhasretstat</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine if query generated a return status number.  <a href="#ga7a5062dac92ccedc8459f6d4a530ffb7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#gaff09873008411a0573f6d1a9e6c7cf4b">dbnumrets</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get count of output parameters filled by a stored procedure.  <a href="#gaff09873008411a0573f6d1a9e6c7cf4b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">BYTE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#ga42e187003b74fec6e9ca92d410bfb9c0">dbretdata</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int retnum)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get value of an output parameter filled by a stored procedure.  <a href="#ga42e187003b74fec6e9ca92d410bfb9c0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#gab705bf94be535e9d8fc4edc0f48c98b0">dbretlen</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int retnum)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of an output parameter filled by a stored procedure.  <a href="#gab705bf94be535e9d8fc4edc0f48c98b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#ga0311328d63bae5d9bd5aea5ea4914223">dbretname</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int retnum)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get name of an output parameter filled by a stored procedure.  <a href="#ga0311328d63bae5d9bd5aea5ea4914223"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#ga2306039d73fbc7045f257b0e750c37b4">dbretstatus</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fetch status value returned by query or remote procedure call.  <a href="#ga2306039d73fbc7045f257b0e750c37b4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#gaa478c8b96923bca02d158d966172ec1b">dbrettype</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int retnum)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get datatype of a stored procedure's return parameter.  <a href="#gaa478c8b96923bca02d158d966172ec1b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#ga5b4374c13c7a83cd4345b0bfa3e787bd">dbrpcinit</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, const char rpcname[], DBSMALLINT options)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize a remote procedure call.  <a href="#ga5b4374c13c7a83cd4345b0bfa3e787bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#ga98b9b5db66975dafae8d422218e4de45">dbrpcparam</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, const char paramname[], BYTE status, int type, DBINT maxlen, DBINT datalen, BYTE *value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a parameter to a remote procedure call.  <a href="#ga98b9b5db66975dafae8d422218e4de45"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#gafa4dfd181be21e49c397f7daaa9cf96c">dbrpcsend</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute the procedure and free associated memory.  <a href="#gafa4dfd181be21e49c397f7daaa9cf96c"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Functions used with stored procedures. </p>
<p>Especially useful for OUTPUT parameters, because modern Microsoft servers do not return output parameter data to the client unless the procedure was invoked with <a class="el" href="a00287.html#gafa4dfd181be21e49c397f7daaa9cf96c" title="Execute the procedure and free associated memory.">dbrpcsend()</a>. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga7a5062dac92ccedc8459f6d4a530ffb7"></a><!-- doxytag: member="dblib.c::dbhasretstat" ref="ga7a5062dac92ccedc8459f6d4a530ffb7" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBBOOL dbhasretstat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> *&nbsp;</td>
          <td class="paramname"> <em>dbproc</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determine if query generated a return status number. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dbproc</em>&nbsp;</td><td>contains all information needed by db-lib to manage communications with the server. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>TRUE</em>&nbsp;</td><td>fetch return status with <a class="el" href="a00287.html#ga2306039d73fbc7045f257b0e750c37b4" title="Fetch status value returned by query or remote procedure call.">dbretstatus()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FALSE</em>&nbsp;</td><td>no return status. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a>, <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a>, <a class="el" href="a00287.html#ga42e187003b74fec6e9ca92d410bfb9c0" title="Get value of an output parameter filled by a stored procedure.">dbretdata()</a>, <a class="el" href="a00287.html#ga2306039d73fbc7045f257b0e750c37b4" title="Fetch status value returned by query or remote procedure call.">dbretstatus()</a>, <a class="el" href="a00287.html#ga5b4374c13c7a83cd4345b0bfa3e787bd" title="Initialize a remote procedure call.">dbrpcinit()</a>, <a class="el" href="a00287.html#ga98b9b5db66975dafae8d422218e4de45" title="Add a parameter to a remote procedure call.">dbrpcparam()</a>, <a class="el" href="a00287.html#gafa4dfd181be21e49c397f7daaa9cf96c" title="Execute the procedure and free associated memory.">dbrpcsend()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gaff09873008411a0573f6d1a9e6c7cf4b"></a><!-- doxytag: member="dblib.c::dbnumrets" ref="gaff09873008411a0573f6d1a9e6c7cf4b" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbnumrets </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> *&nbsp;</td>
          <td class="paramname"> <em>dbproc</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get count of output parameters filled by a stored procedure. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dbproc</em>&nbsp;</td><td>contains all information needed by db-lib to manage communications with the server. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>How many, possibly zero. </dd></dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>This name sounds funny. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="ga42e187003b74fec6e9ca92d410bfb9c0"></a><!-- doxytag: member="dblib.c::dbretdata" ref="ga42e187003b74fec6e9ca92d410bfb9c0" args="(DBPROCESS *dbproc, int retnum)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BYTE* dbretdata </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> *&nbsp;</td>
          <td class="paramname"> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>retnum</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get value of an output parameter filled by a stored procedure. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dbproc</em>&nbsp;</td><td>contains all information needed by db-lib to manage communications with the server. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>retnum</em>&nbsp;</td><td>Nth parameter between <code>1</code> and the return value from <code><a class="el" href="a00287.html#gaff09873008411a0573f6d1a9e6c7cf4b" title="Get count of output parameters filled by a stored procedure.">dbnumrets()</a></code>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Address of a return parameter value, or <code>NULL</code> if no such <em>retnum</em>. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a>, <a class="el" href="a00287.html#gaff09873008411a0573f6d1a9e6c7cf4b" title="Get count of output parameters filled by a stored procedure.">dbnumrets()</a>, <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a>, <a class="el" href="a00287.html#gab705bf94be535e9d8fc4edc0f48c98b0" title="Get size of an output parameter filled by a stored procedure.">dbretlen()</a>, <a class="el" href="a00287.html#ga0311328d63bae5d9bd5aea5ea4914223" title="Get name of an output parameter filled by a stored procedure.">dbretname()</a>, <a class="el" href="a00287.html#gaa478c8b96923bca02d158d966172ec1b" title="Get datatype of a stored procedure&#39;s return parameter.">dbrettype()</a>, <a class="el" href="a00287.html#ga5b4374c13c7a83cd4345b0bfa3e787bd" title="Initialize a remote procedure call.">dbrpcinit()</a>, <a class="el" href="a00287.html#ga98b9b5db66975dafae8d422218e4de45" title="Add a parameter to a remote procedure call.">dbrpcparam()</a>. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="a00306.html#_todo000013">Todo:</a></b></dt><dd>Handle blobs. </dd></dl>

</div>
</div>
<a class="anchor" id="gab705bf94be535e9d8fc4edc0f48c98b0"></a><!-- doxytag: member="dblib.c::dbretlen" ref="gab705bf94be535e9d8fc4edc0f48c98b0" args="(DBPROCESS *dbproc, int retnum)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbretlen </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> *&nbsp;</td>
          <td class="paramname"> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>retnum</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get size of an output parameter filled by a stored procedure. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dbproc</em>&nbsp;</td><td>contains all information needed by db-lib to manage communications with the server. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>retnum</em>&nbsp;</td><td>Nth parameter between <code>1</code> and the return value from <code><a class="el" href="a00287.html#gaff09873008411a0573f6d1a9e6c7cf4b" title="Get count of output parameters filled by a stored procedure.">dbnumrets()</a></code>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Size of a return parameter value, or <code>NULL</code> if no such <em>retnum</em>. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a>, <a class="el" href="a00287.html#gaff09873008411a0573f6d1a9e6c7cf4b" title="Get count of output parameters filled by a stored procedure.">dbnumrets()</a>, <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a>, <a class="el" href="a00287.html#ga42e187003b74fec6e9ca92d410bfb9c0" title="Get value of an output parameter filled by a stored procedure.">dbretdata()</a>, <a class="el" href="a00287.html#ga0311328d63bae5d9bd5aea5ea4914223" title="Get name of an output parameter filled by a stored procedure.">dbretname()</a>, <a class="el" href="a00287.html#gaa478c8b96923bca02d158d966172ec1b" title="Get datatype of a stored procedure&#39;s return parameter.">dbrettype()</a>, <a class="el" href="a00287.html#ga5b4374c13c7a83cd4345b0bfa3e787bd" title="Initialize a remote procedure call.">dbrpcinit()</a>, <a class="el" href="a00287.html#ga98b9b5db66975dafae8d422218e4de45" title="Add a parameter to a remote procedure call.">dbrpcparam()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga0311328d63bae5d9bd5aea5ea4914223"></a><!-- doxytag: member="dblib.c::dbretname" ref="ga0311328d63bae5d9bd5aea5ea4914223" args="(DBPROCESS *dbproc, int retnum)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* dbretname </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> *&nbsp;</td>
          <td class="paramname"> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>retnum</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get name of an output parameter filled by a stored procedure. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dbproc</em>&nbsp;</td><td>contains all information needed by db-lib to manage communications with the server. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>retnum</em>&nbsp;</td><td>Nth parameter between <code>1</code> and the return value from <code><a class="el" href="a00287.html#gaff09873008411a0573f6d1a9e6c7cf4b" title="Get count of output parameters filled by a stored procedure.">dbnumrets()</a></code>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>ASCII null-terminated string, <code>NULL</code> if no such <em>retnum</em>. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a>, <a class="el" href="a00287.html#gaff09873008411a0573f6d1a9e6c7cf4b" title="Get count of output parameters filled by a stored procedure.">dbnumrets()</a>, <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a>, <a class="el" href="a00287.html#ga42e187003b74fec6e9ca92d410bfb9c0" title="Get value of an output parameter filled by a stored procedure.">dbretdata()</a>, <a class="el" href="a00287.html#gab705bf94be535e9d8fc4edc0f48c98b0" title="Get size of an output parameter filled by a stored procedure.">dbretlen()</a>, <a class="el" href="a00287.html#gaa478c8b96923bca02d158d966172ec1b" title="Get datatype of a stored procedure&#39;s return parameter.">dbrettype()</a>, <a class="el" href="a00287.html#ga5b4374c13c7a83cd4345b0bfa3e787bd" title="Initialize a remote procedure call.">dbrpcinit()</a>, <a class="el" href="a00287.html#ga98b9b5db66975dafae8d422218e4de45" title="Add a parameter to a remote procedure call.">dbrpcparam()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga2306039d73fbc7045f257b0e750c37b4"></a><!-- doxytag: member="dblib.c::dbretstatus" ref="ga2306039d73fbc7045f257b0e750c37b4" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBINT dbretstatus </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> *&nbsp;</td>
          <td class="paramname"> <em>dbproc</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fetch status value returned by query or remote procedure call. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dbproc</em>&nbsp;</td><td>contains all information needed by db-lib to manage communications with the server. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>return value </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00287.html#ga7a5062dac92ccedc8459f6d4a530ffb7" title="Determine if query generated a return status number.">dbhasretstat()</a>, <a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a>, <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a>, <a class="el" href="a00287.html#ga42e187003b74fec6e9ca92d410bfb9c0" title="Get value of an output parameter filled by a stored procedure.">dbretdata()</a>, <a class="el" href="a00287.html#ga5b4374c13c7a83cd4345b0bfa3e787bd" title="Initialize a remote procedure call.">dbrpcinit()</a>, <a class="el" href="a00287.html#ga98b9b5db66975dafae8d422218e4de45" title="Add a parameter to a remote procedure call.">dbrpcparam()</a>, <a class="el" href="a00287.html#gafa4dfd181be21e49c397f7daaa9cf96c" title="Execute the procedure and free associated memory.">dbrpcsend()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gaa478c8b96923bca02d158d966172ec1b"></a><!-- doxytag: member="dblib.c::dbrettype" ref="gaa478c8b96923bca02d158d966172ec1b" args="(DBPROCESS *dbproc, int retnum)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbrettype </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> *&nbsp;</td>
          <td class="paramname"> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>retnum</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get datatype of a stored procedure's return parameter. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dbproc</em>&nbsp;</td><td>contains all information needed by db-lib to manage communications with the server. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>retnum</em>&nbsp;</td><td>Nth return parameter, between 1 and <code><a class="el" href="a00287.html#gaff09873008411a0573f6d1a9e6c7cf4b" title="Get count of output parameters filled by a stored procedure.">dbnumrets()</a></code>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>SYB* datatype token, or -1 if <em>retnum</em> is out of range. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a>, <a class="el" href="a00287.html#gaff09873008411a0573f6d1a9e6c7cf4b" title="Get count of output parameters filled by a stored procedure.">dbnumrets()</a>, <a class="el" href="a00286.html#gac25ae21ca19777ffab1c013bd6049ebf" title="Print a token value&#39;s name to a buffer.">dbprtype()</a>, <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a>, <a class="el" href="a00287.html#ga42e187003b74fec6e9ca92d410bfb9c0" title="Get value of an output parameter filled by a stored procedure.">dbretdata()</a>, <a class="el" href="a00287.html#gab705bf94be535e9d8fc4edc0f48c98b0" title="Get size of an output parameter filled by a stored procedure.">dbretlen()</a>, <a class="el" href="a00287.html#ga0311328d63bae5d9bd5aea5ea4914223" title="Get name of an output parameter filled by a stored procedure.">dbretname()</a>, <a class="el" href="a00287.html#ga5b4374c13c7a83cd4345b0bfa3e787bd" title="Initialize a remote procedure call.">dbrpcinit()</a>, <a class="el" href="a00287.html#ga98b9b5db66975dafae8d422218e4de45" title="Add a parameter to a remote procedure call.">dbrpcparam()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga5b4374c13c7a83cd4345b0bfa3e787bd"></a><!-- doxytag: member="rpc.c::dbrpcinit" ref="ga5b4374c13c7a83cd4345b0bfa3e787bd" args="(DBPROCESS *dbproc, const char rpcname[], DBSMALLINT options)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbrpcinit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> *&nbsp;</td>
          <td class="paramname"> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char&nbsp;</td>
          <td class="paramname"> <em>rpcname</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBSMALLINT&nbsp;</td>
          <td class="paramname"> <em>options</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize a remote procedure call. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dbproc</em>&nbsp;</td><td>contains all information needed by db-lib to manage communications with the server. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rpcname</em>&nbsp;</td><td>name of the stored procedure to be run. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Only supported option would be DBRPCRECOMPILE, which causes the stored procedure to be recompiled before executing. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>The RPC functions are the only way to get back OUTPUT parameter data with db-lib from modern Microsoft servers. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>SUCCEED</em>&nbsp;</td><td>normal. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>on error </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00287.html#ga98b9b5db66975dafae8d422218e4de45" title="Add a parameter to a remote procedure call.">dbrpcparam()</a>, <a class="el" href="a00287.html#gafa4dfd181be21e49c397f7daaa9cf96c" title="Execute the procedure and free associated memory.">dbrpcsend()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga98b9b5db66975dafae8d422218e4de45"></a><!-- doxytag: member="rpc.c::dbrpcparam" ref="ga98b9b5db66975dafae8d422218e4de45" args="(DBPROCESS *dbproc, const char paramname[], BYTE status, int type, DBINT maxlen, DBINT datalen, BYTE *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbrpcparam </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> *&nbsp;</td>
          <td class="paramname"> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char&nbsp;</td>
          <td class="paramname"> <em>paramname</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BYTE&nbsp;</td>
          <td class="paramname"> <em>status</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>maxlen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>datalen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BYTE *&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a parameter to a remote procedure call. </p>
<p>Call between <a class="el" href="a00287.html#ga5b4374c13c7a83cd4345b0bfa3e787bd" title="Initialize a remote procedure call.">dbrpcinit()</a> and <a class="el" href="a00287.html#gafa4dfd181be21e49c397f7daaa9cf96c" title="Execute the procedure and free associated memory.">dbrpcsend()</a> </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dbproc</em>&nbsp;</td><td>contains all information needed by db-lib to manage communications with the server. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>paramname</em>&nbsp;</td><td>literal name of the parameter, according to the stored procedure (starts with '@'). Optional. If not used, parameters will be passed in order instead of by name. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>must be DBRPCRETURN, if this parameter is a return parameter, else 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>datatype of the value parameter e.g., SYBINT4, SYBCHAR. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>maxlen</em>&nbsp;</td><td>Maximum output size of the parameter's value to be returned by the stored procedure, usually the size of your host variable. Fixed-length datatypes take -1 (NULL or not). Non-OUTPUT parameters also use -1. Use 0 to send a NULL value for a variable length datatype. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>datalen</em>&nbsp;</td><td>For variable-length datatypes, the byte size of the data to be sent, exclusive of any null terminator. For fixed-length datatypes use -1. To send a NULL value, use 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>Address of your host variable. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>SUCCEED</em>&nbsp;</td><td>normal. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>on error </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00287.html#ga5b4374c13c7a83cd4345b0bfa3e787bd" title="Initialize a remote procedure call.">dbrpcinit()</a>, <a class="el" href="a00287.html#gafa4dfd181be21e49c397f7daaa9cf96c" title="Execute the procedure and free associated memory.">dbrpcsend()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gafa4dfd181be21e49c397f7daaa9cf96c"></a><!-- doxytag: member="rpc.c::dbrpcsend" ref="gafa4dfd181be21e49c397f7daaa9cf96c" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbrpcsend </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> *&nbsp;</td>
          <td class="paramname"> <em>dbproc</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Execute the procedure and free associated memory. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dbproc</em>&nbsp;</td><td>contains all information needed by db-lib to manage communications with the server. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>SUCCEED</em>&nbsp;</td><td>normal. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>on error </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00287.html#ga5b4374c13c7a83cd4345b0bfa3e787bd" title="Initialize a remote procedure call.">dbrpcinit()</a>, <a class="el" href="a00287.html#ga98b9b5db66975dafae8d422218e4de45" title="Add a parameter to a remote procedure call.">dbrpcparam()</a> </dd></dl>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Aug 17 22:22:31 2011 for FreeTDS API by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>