Sophie

Sophie

distrib > Mageia > 1 > i586 > media > core-release > by-pkgid > f0bc842dcf666302badcfd2545f3387c > files > 52

libfreetds0-doc-0.82-12.mga1.i586.rpm

<!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>FreeTDS API: Remote Procedure functions</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.1 -->
<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">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<h1>Remote Procedure functions<br>
<small>
[<a class="el" href="a00274.html">The db-lib API</a>]</small>
</h1>Functions used with stored procedures.  
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBBOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga0">dbhasretstat</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine if query generated a return status number.  <a href="#ga0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga2">dbnumrets</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get count of output parameters filled by a stored procedure.  <a href="#ga2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">BYTE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga4">dbretdata</a> (DBPROCESS *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="#ga4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga5">dbretlen</a> (DBPROCESS *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="#ga5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga3">dbretname</a> (DBPROCESS *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="#ga3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga1">dbretstatus</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fetch status value returned by query or remote procedure call.  <a href="#ga1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga6">dbrettype</a> (DBPROCESS *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="#ga6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga7">dbrpcinit</a> (DBPROCESS *dbproc, char *rpcname, DBSMALLINT options)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize a remote procedure call.  <a href="#ga7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga8">dbrpcparam</a> (DBPROCESS *dbproc, 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="#ga8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga9">dbrpcsend</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute the procedure and free associated memory.  <a href="#ga9"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Functions used with stored procedures. 
<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="a00276.html#ga9">dbrpcsend()</a>. <hr><h2>Function Documentation</h2>
<a class="anchor" name="ga0" doxytag="dblib.c::dbhasretstat"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">DBBOOL dbhasretstat           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">DBPROCESS *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>dbproc</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Determine if query generated a return status number. 
<p>
<dl compact><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>
</dl>
<dl compact><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="a00276.html#ga1">dbretstatus()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FALSE</em>&nbsp;</td><td>no return status. </td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00275.html#ga16">dbnextrow()</a>, <a class="el" href="a00275.html#ga10">dbresults()</a>, <a class="el" href="a00276.html#ga4">dbretdata()</a>, <a class="el" href="a00276.html#ga1">dbretstatus()</a>, <a class="el" href="a00276.html#ga7">dbrpcinit()</a>, <a class="el" href="a00276.html#ga8">dbrpcparam()</a>, <a class="el" href="a00276.html#ga9">dbrpcsend()</a>. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="ga2" doxytag="dblib.c::dbnumrets"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">int dbnumrets           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">DBPROCESS *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>dbproc</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get count of output parameters filled by a stored procedure. 
<p>
<dl compact><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>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>How many, possibly zero. </dd></dl>
<dl compact><dt><b>Remarks:</b></dt><dd>This name sounds funny. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd></dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="ga4" doxytag="dblib.c::dbretdata"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">BYTE* dbretdata           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">DBPROCESS *&nbsp;</td>
          <td class="mdname" nowrap> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>retnum</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get value of an output parameter filled by a stored procedure. 
<p>
<dl compact><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="a00276.html#ga2">dbnumrets()</a></code>. </td></tr>
  </table>
</dl>
<dl compact><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 compact><dt><b>See also:</b></dt><dd><a class="el" href="a00275.html#ga16">dbnextrow()</a>, <a class="el" href="a00276.html#ga2">dbnumrets()</a>, <a class="el" href="a00275.html#ga10">dbresults()</a>, <a class="el" href="a00276.html#ga5">dbretlen()</a>, <a class="el" href="a00276.html#ga3">dbretname()</a>, <a class="el" href="a00276.html#ga6">dbrettype()</a>, <a class="el" href="a00276.html#ga7">dbrpcinit()</a>, <a class="el" href="a00276.html#ga8">dbrpcparam()</a>. </dd></dl>
<dl compact><dt><b><a class="el" href="todo.html#_todo000019">Todo:</a></b></dt><dd>Handle blobs. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="ga5" doxytag="dblib.c::dbretlen"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">int dbretlen           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">DBPROCESS *&nbsp;</td>
          <td class="mdname" nowrap> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>retnum</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get size of an output parameter filled by a stored procedure. 
<p>
<dl compact><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="a00276.html#ga2">dbnumrets()</a></code>. </td></tr>
  </table>
</dl>
<dl compact><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 compact><dt><b>See also:</b></dt><dd><a class="el" href="a00275.html#ga16">dbnextrow()</a>, <a class="el" href="a00276.html#ga2">dbnumrets()</a>, <a class="el" href="a00275.html#ga10">dbresults()</a>, <a class="el" href="a00276.html#ga4">dbretdata()</a>, <a class="el" href="a00276.html#ga3">dbretname()</a>, <a class="el" href="a00276.html#ga6">dbrettype()</a>, <a class="el" href="a00276.html#ga7">dbrpcinit()</a>, <a class="el" href="a00276.html#ga8">dbrpcparam()</a>. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="ga3" doxytag="dblib.c::dbretname"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">char* dbretname           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">DBPROCESS *&nbsp;</td>
          <td class="mdname" nowrap> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>retnum</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get name of an output parameter filled by a stored procedure. 
<p>
<dl compact><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="a00276.html#ga2">dbnumrets()</a></code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>ASCII null-terminated string, <code>NULL</code> if no such <em>retnum</em>. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00275.html#ga16">dbnextrow()</a>, <a class="el" href="a00276.html#ga2">dbnumrets()</a>, <a class="el" href="a00275.html#ga10">dbresults()</a>, <a class="el" href="a00276.html#ga4">dbretdata()</a>, <a class="el" href="a00276.html#ga5">dbretlen()</a>, <a class="el" href="a00276.html#ga6">dbrettype()</a>, <a class="el" href="a00276.html#ga7">dbrpcinit()</a>, <a class="el" href="a00276.html#ga8">dbrpcparam()</a>. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="ga1" doxytag="dblib.c::dbretstatus"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">DBINT dbretstatus           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">DBPROCESS *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>dbproc</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Fetch status value returned by query or remote procedure call. 
<p>
<dl compact><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>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>return value </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00276.html#ga0">dbhasretstat()</a>, <a class="el" href="a00275.html#ga16">dbnextrow()</a>, <a class="el" href="a00275.html#ga10">dbresults()</a>, <a class="el" href="a00276.html#ga4">dbretdata()</a>, <a class="el" href="a00276.html#ga7">dbrpcinit()</a>, <a class="el" href="a00276.html#ga8">dbrpcparam()</a>, <a class="el" href="a00276.html#ga9">dbrpcsend()</a>. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="ga6" doxytag="dblib.c::dbrettype"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">int dbrettype           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">DBPROCESS *&nbsp;</td>
          <td class="mdname" nowrap> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>retnum</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get datatype of a stored procedure's return parameter. 
<p>
<dl compact><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="a00276.html#ga2">dbnumrets()</a></code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>SYB* datatype token, or -1 if <em>retnum</em> is out of range. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00275.html#ga16">dbnextrow()</a>, <a class="el" href="a00276.html#ga2">dbnumrets()</a>, <a class="el" href="a00275.html#ga77">dbprtype()</a>, <a class="el" href="a00275.html#ga10">dbresults()</a>, <a class="el" href="a00276.html#ga4">dbretdata()</a>, <a class="el" href="a00276.html#ga5">dbretlen()</a>, <a class="el" href="a00276.html#ga3">dbretname()</a>, <a class="el" href="a00276.html#ga7">dbrpcinit()</a>, <a class="el" href="a00276.html#ga8">dbrpcparam()</a>. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="ga7" doxytag="rpc.c::dbrpcinit"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">RETCODE dbrpcinit           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">DBPROCESS *&nbsp;</td>
          <td class="mdname" nowrap> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap> <em>rpcname</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>DBSMALLINT&nbsp;</td>
          <td class="mdname" nowrap> <em>options</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Initialize a remote procedure call. 
<p>
<dl compact><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>
</dl>
<dl compact><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 compact><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>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00276.html#ga8">dbrpcparam()</a>, <a class="el" href="a00276.html#ga9">dbrpcsend()</a> </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="ga8" doxytag="rpc.c::dbrpcparam"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">RETCODE dbrpcparam           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">DBPROCESS *&nbsp;</td>
          <td class="mdname" nowrap> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap> <em>paramname</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>BYTE&nbsp;</td>
          <td class="mdname" nowrap> <em>status</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>DBINT&nbsp;</td>
          <td class="mdname" nowrap> <em>maxlen</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>DBINT&nbsp;</td>
          <td class="mdname" nowrap> <em>datalen</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>BYTE *&nbsp;</td>
          <td class="mdname" nowrap> <em>value</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add a parameter to a remote procedure call. 
<p>
Call between <a class="el" href="a00276.html#ga7">dbrpcinit()</a> and <a class="el" href="a00276.html#ga9">dbrpcsend()</a> <dl compact><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>
</dl>
<dl compact><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>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00276.html#ga7">dbrpcinit()</a>, <a class="el" href="a00276.html#ga9">dbrpcsend()</a> </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="ga9" doxytag="rpc.c::dbrpcsend"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">RETCODE dbrpcsend           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">DBPROCESS *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>dbproc</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Execute the procedure and free associated memory. 
<p>
<dl compact><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>
</dl>
<dl compact><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>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00276.html#ga7">dbrpcinit()</a>, <a class="el" href="a00276.html#ga8">dbrpcparam()</a> </dd></dl>
    </td>
  </tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Wed May 7 19:22:10 2008 for FreeTDS API by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.1 </small></address>
</body>
</html>