Sophie

Sophie

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

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: Primary 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>Primary functions<br/>
<small>
[<a class="el" href="a00285.html">The db-lib API</a>]</small>
</h1>
<p>Core functions needed by most db-lib programs.  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga8b263669ce0312e52b5ea42a57a56838">DBCMDROW</a>(x)&nbsp;&nbsp;&nbsp;dbcmdrow((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro mapping to the Microsoft (lower-case) function.  <a href="#ga8b263669ce0312e52b5ea42a57a56838"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga0ac1828f731a21c591c8d6330cbba3a9">DBCOUNT</a>(x)&nbsp;&nbsp;&nbsp;dbcount((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro mapping to the Microsoft (lower-case) function.  <a href="#ga0ac1828f731a21c591c8d6330cbba3a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gae375344b1ec50c1f756e3b69f3cef715">DBCURCMD</a>(x)&nbsp;&nbsp;&nbsp;dbcurcmd((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro mapping to the Microsoft (lower-case) function.  <a href="#gae375344b1ec50c1f756e3b69f3cef715"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaf49e4b58918bfa4d4adaa14ee5bb375c">DBCURROW</a>(x)&nbsp;&nbsp;&nbsp;dbcurrow((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro mapping to the Microsoft (lower-case) function.  <a href="#gaf49e4b58918bfa4d4adaa14ee5bb375c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga2c7b5eec4843ea326b21f2db2ded2754">DBDEAD</a>(x)&nbsp;&nbsp;&nbsp;dbdead((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro mapping to the Microsoft (lower-case) function.  <a href="#ga2c7b5eec4843ea326b21f2db2ded2754"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga97a6493786124215ec9fe4b4bd2d7cbb">DBFIRSTROW</a>(x)&nbsp;&nbsp;&nbsp;dbfirstrow((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro mapping to the Microsoft (lower-case) function.  <a href="#ga97a6493786124215ec9fe4b4bd2d7cbb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga74ac942f9b7baa49e1d7d18628321297">DBIORDESC</a>(x)&nbsp;&nbsp;&nbsp;dbiordesc((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro, maps to the internal (lower-case) function.  <a href="#ga74ac942f9b7baa49e1d7d18628321297"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga5afb13924cda059d30be36a70dcf2cd9">DBIOWDESC</a>(x)&nbsp;&nbsp;&nbsp;dbiowdesc((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro, maps to the internal (lower-case) function.  <a href="#ga5afb13924cda059d30be36a70dcf2cd9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga40f6c951a851744e58ee715c652a8ac8">DBISAVAIL</a>(x)&nbsp;&nbsp;&nbsp;dbisavail((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro mapping to the Microsoft (lower-case) function.  <a href="#ga40f6c951a851744e58ee715c652a8ac8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga10b9b26cf9a901146e9675a9e678632b">DBLASTROW</a>(x)&nbsp;&nbsp;&nbsp;dblastrow((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro mapping to the Microsoft (lower-case) function.  <a href="#ga10b9b26cf9a901146e9675a9e678632b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gad887bdce8cb0d3b8c6aaf659eb477b48">DBMORECMDS</a>(x)&nbsp;&nbsp;&nbsp;dbmorecmds((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro mapping to the Microsoft (lower-case) function.  <a href="#gad887bdce8cb0d3b8c6aaf659eb477b48"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga48d71b32c26703c810191ef916c5448c">DBROWS</a>(x)&nbsp;&nbsp;&nbsp;dbrows((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro mapping to the Microsoft (lower-case) function.  <a href="#ga48d71b32c26703c810191ef916c5448c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga6fda3f4982dda5825d13fee392e89fd9">DBROWTYPE</a>(x)&nbsp;&nbsp;&nbsp;dbrowtype((x))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro mapping to the Microsoft (lower-case) function.  <a href="#ga6fda3f4982dda5825d13fee392e89fd9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga316c0fd24b8dc1259ce9eb4d25016400">DBSETLCHARSET</a>(x, y)&nbsp;&nbsp;&nbsp;dbsetlname((x), (y), DBSETCHARSET)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the client character set in the login packet.  <a href="#ga316c0fd24b8dc1259ce9eb4d25016400"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gac51e3075197963557a8d2a37d82df921">DBSETLENCRYPT</a>(x, y)&nbsp;&nbsp;&nbsp;dbsetlbool((x), (y), DBSETENCRYPT)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable (or not) network password encryption for Sybase servers version 10.0 or above.  <a href="#gac51e3075197963557a8d2a37d82df921"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga30e0028e6208414c2245e5fcd6740d9d">dbsetlnatlang</a>(x, y)&nbsp;&nbsp;&nbsp;dbsetlname((x), (y), DBSETNATLANG)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the language the server should use for messages.  <a href="#ga30e0028e6208414c2245e5fcd6740d9d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gadada0e76c811a6fb84ce6759bcf116b5">DBSETLNATLANG</a>(x, y)&nbsp;&nbsp;&nbsp;dbsetlname((x), (y), DBSETNATLANG)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the language the server should use for messages.  <a href="#gadada0e76c811a6fb84ce6759bcf116b5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga0d0acc4ce2243e48023e022b50e2ac45">dbsetlpacket</a>(x, y)&nbsp;&nbsp;&nbsp;dbsetllong((x), (y), DBSETPACKET)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the packet size in the login packet for new connections.  <a href="#ga0d0acc4ce2243e48023e022b50e2ac45"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gae7e59f9c3cc0ec5916c06977ff7d8565">DBSETLPACKET</a>(x, y)&nbsp;&nbsp;&nbsp;dbsetllong((x), (y), DBSETPACKET)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the packet size in the login packet for new connections.  <a href="#gae7e59f9c3cc0ec5916c06977ff7d8565"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga1644cf55d37435711df65c12a3f7b785">DBTDS</a>(a)&nbsp;&nbsp;&nbsp;dbtds(a)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sybase macro, maps to the internal (lower-case) function.  <a href="#ga1644cf55d37435711df65c12a3f7b785"></a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">BYTE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gabcc14a1ca58b65bc46cce6c81c45218c">dbadata</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int computeid, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get address of compute column data.  <a href="#gabcc14a1ca58b65bc46cce6c81c45218c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga3340e21db274b272ec11c037cb147222">dbadlen</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int computeid, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of data in a compute column.  <a href="#ga3340e21db274b272ec11c037cb147222"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gafefd17e15b22adda84366c817178dd7d">dbaltbind</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int computeid, int column, int vartype, DBINT varlen, BYTE *varaddr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bind a compute column to a program variable.  <a href="#gafefd17e15b22adda84366c817178dd7d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gad10c9fd75a86c7a0ac375937df0e90a6">dbaltcolid</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int computeid, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get column ID of a compute column.  <a href="#gad10c9fd75a86c7a0ac375937df0e90a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga9a35c8d3cd0e35c10555baf8f6a01e93">dbaltlen</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int computeid, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of data in compute column.  <a href="#ga9a35c8d3cd0e35c10555baf8f6a01e93"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga947837a5c8fd99898c043435945b668c">dbaltop</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int computeid, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get aggregation operator for a compute column.  <a href="#ga947837a5c8fd99898c043435945b668c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaa85171e020dc606f2bd3395ad1d3ab4f">dbalttype</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int computeid, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get datatype for a compute column.  <a href="#gaa85171e020dc606f2bd3395ad1d3ab4f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaf1c00d83dfa88dc99a3fb449c49660ea">dbaltutype</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int computeid, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get user-defined datatype of a compute column.  <a href="#gaf1c00d83dfa88dc99a3fb449c49660ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga939c2a2e67b9992c787e2cec5b6cc1a7">dbanullbind</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int computeid, int column, DBINT *indicator)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tie a null-indicator to a compute result column.  <a href="#ga939c2a2e67b9992c787e2cec5b6cc1a7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga873bc0f4663165e711655ade1dfae795">dbbind</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column, int vartype, DBINT varlen, BYTE *varaddr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tie a host variable to a resultset column.  <a href="#ga873bc0f4663165e711655ade1dfae795"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">BYTE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gae658a0cd5270f3bd6f22de17b2cb2e64">dbbylist</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int computeid, int *size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get <code>bylist</code> for a compute row.  <a href="#gae658a0cd5270f3bd6f22de17b2cb2e64"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga5ea23272124fff03b8d87538c1ec3ee5">dbcancel</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cancel the current command batch.  <a href="#ga5ea23272124fff03b8d87538c1ec3ee5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga559e24ba70d0d96c3469eb6ab8f74e05">dbcanquery</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cancel the query currently being retrieved, discarding all pending rows.  <a href="#ga559e24ba70d0d96c3469eb6ab8f74e05"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga8cbc761b1266bd947783d843aeeec264">dbchange</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See if a command caused the current database to change.  <a href="#ga8cbc761b1266bd947783d843aeeec264"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaef740b394b44eb33925c2718f7b30d69">dbclose</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close a connection to the server and free associated resources.  <a href="#gaef740b394b44eb33925c2718f7b30d69"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga01404b179a251c249aecfdae72ec6ca4">dbclrbuf</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, DBINT n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear <em>n</em> rows from the row buffer.  <a href="#ga01404b179a251c249aecfdae72ec6ca4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga93ee3c8ca34a08588f88784898fd69e0">dbclropt</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int option, const char param[])</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset an option.  <a href="#ga93ee3c8ca34a08588f88784898fd69e0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga87b39d9863316b4ba85654b0885d53a0">dbcmd</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, const char cmdstring[])</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>Append</code> SQL to the command buffer.  <a href="#ga87b39d9863316b4ba85654b0885d53a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga89fc5589b4bf41932324d2cfc6ad6433">dbcollen</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of a regular result column.  <a href="#ga89fc5589b4bf41932324d2cfc6ad6433"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gad06f5deddac18604dfa858b2580e232f">dbcolname</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return name of a regular result column.  <a href="#gad06f5deddac18604dfa858b2580e232f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga3a96d0188e5e0eb9eea661b3685fdcc3">dbcolsource</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get base database column name for a result set column.  <a href="#ga3a96d0188e5e0eb9eea661b3685fdcc3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga636e6f1b64743f3cf22158a56eef371f">dbcoltype</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the datatype of a regular result set column.  <a href="#ga636e6f1b64743f3cf22158a56eef371f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00064.html">DBTYPEINFO</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga3c33e72c41b40e08dbcfdfa0d16bc399">dbcoltypeinfo</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get precision and scale information for a regular result column.  <a href="#ga3c33e72c41b40e08dbcfdfa0d16bc399"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gab33d2f4fd44f50e55b6c71902db4fdae">dbcolutype</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get user-defined datatype of a regular result column.  <a href="#gab33d2f4fd44f50e55b6c71902db4fdae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga32eb72f6fb3edb130e59fb3dd0766e7e">dbconvert</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int srctype, const BYTE *src, DBINT srclen, int desttype, BYTE *dest, DBINT destlen)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert one datatype to another.  <a href="#ga32eb72f6fb3edb130e59fb3dd0766e7e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga0320e4332d3107a6d5c5e949fcf8cac8">dbconvert_ps</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int srctype, BYTE *src, DBINT srclen, int desttype, BYTE *dest, DBINT destlen, <a class="el" href="a00064.html">DBTYPEINFO</a> *typeinfo)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cf.  <a href="#ga0320e4332d3107a6d5c5e949fcf8cac8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga9433bc200c0978569964354451d9b64e">dbcount</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get count of rows processed.  <a href="#ga9433bc200c0978569964354451d9b64e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">BYTE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaee60c306a22383805a4b9caa647a1e16">dbdata</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get address of data in a regular result column.  <a href="#gaee60c306a22383805a4b9caa647a1e16"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga3cfb1c1c8c50a09a9ac4d75800547f7a">dbdatecrack</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, <a class="el" href="a00123.html">DBDATEREC</a> *output, <a class="el" href="a00055.html">DBDATETIME</a> *datetime)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Break a <a class="el" href="a00055.html">DBDATETIME</a> value into useful pieces.  <a href="#ga3cfb1c1c8c50a09a9ac4d75800547f7a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gae666d141533126babb0235af21bdca0f">dbdatlen</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of current row's data in a regular result column.  <a href="#gae666d141533126babb0235af21bdca0f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EHANDLEFUNC&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gab8209543de865f359bdb32829fa8b757">dberrhandle</a> (EHANDLEFUNC handler)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an error handler, for messages from db-lib.  <a href="#gab8209543de865f359bdb32829fa8b757"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gad0044401c8c83205583f93a4764f2d8b">dbexit</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close server connections and free all related structures.  <a href="#gad0044401c8c83205583f93a4764f2d8b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga43727b10d4cbb7708b374811abe6eadb">dbfcmd</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, const char *fmt,...)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>printf-like</code> way to form SQL to send to the server.  <a href="#ga43727b10d4cbb7708b374811abe6eadb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga0fcfcf6846442dac9dd5584d270ec72a">dbfreebuf</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erase the command buffer, in case <code>DBNOAUTOFREE</code> was set with <a class="el" href="a00286.html#ga9d660d278f3f58871b4086c0e175f4c6" title="Set db-lib or server option.">dbsetopt()</a>.  <a href="#ga0fcfcf6846442dac9dd5584d270ec72a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaf917cf746c954a5d1b718afe3c4d1940">dbgetchar</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int pos)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get address of a position in the command buffer.  <a href="#gaf917cf746c954a5d1b718afe3c4d1940"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gadb34c5c2aae50ac9f2a26d8984136997">dbgetmaxprocs</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get maximum simultaneous connections db-lib will open to the server.  <a href="#gadb34c5c2aae50ac9f2a26d8984136997"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gabaf9aa756f7cb8bbec80d1c7201c6238">dbgetpacket</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get TDS packet size for the connection.  <a href="#gabaf9aa756f7cb8bbec80d1c7201c6238"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga60fe544491c760f8bc6c37bc7f777d70">dbgetrow</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, DBINT row)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a row from the row buffer.  <a href="#ga60fe544491c760f8bc6c37bc7f777d70"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga6ccffbb3f0cfb10883ad349f1e47c50e">dbgettime</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get maximum seconds db-lib waits for a server response to query.  <a href="#ga6ccffbb3f0cfb10883ad349f1e47c50e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">BYTE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaa5714a91d7c14365fa1e5b164bb2b0b6">dbgetuserdata</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get address of user-allocated data from a <code>DBPROCESS</code>.  <a href="#gaa5714a91d7c14365fa1e5b164bb2b0b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga564dd3a1bb0425a8957f1714d8b2a7c0">dbinit</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize db-lib.  <a href="#ga564dd3a1bb0425a8957f1714d8b2a7c0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">BOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga6ba2a7f18cb76d24776e45fd71141494">dbiscount</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicates whether or not the count returned by dbcount is real (Microsoft-compatibility feature).  <a href="#ga6ba2a7f18cb76d24776e45fd71141494"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBBOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gac3eb8cb53f50998403ea9aebc6263df9">dbisopt</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int option, const char param[])</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get value of an option.  <a href="#gac3eb8cb53f50998403ea9aebc6263df9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00070.html">LOGINREC</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga0984798bb806f7451a53bffa7e2c430f">dblogin</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate a <code><a class="el" href="a00070.html">LOGINREC</a></code> structure.  <a href="#ga0984798bb806f7451a53bffa7e2c430f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gac1bdb1766b791153f37dceae8ff64ad6">dbloginfree</a> (<a class="el" href="a00070.html">LOGINREC</a> *login)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">free the <code><a class="el" href="a00070.html">LOGINREC</a></code>  <a href="#gac1bdb1766b791153f37dceae8ff64ad6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gac3ba9f53cc77e4dde8f48335ed94ac19">dbmorecmds</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See if more commands are to be processed.  <a href="#gac3ba9f53cc77e4dde8f48335ed94ac19"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga6f13381522a1fa0b6ce2c15378088cdd">dbmoretext</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, DBINT size, const BYTE text[])</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send chunk of a text/image value to the server.  <a href="#ga6f13381522a1fa0b6ce2c15378088cdd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">MHANDLEFUNC&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gadc8af9a65f3719804c2537fd737298ca">dbmsghandle</a> (MHANDLEFUNC handler)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a message handler, for messages from the server.  <a href="#gadc8af9a65f3719804c2537fd737298ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gab185982ffe0b85b8fd19747bd1f433fe">dbname</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get name of current database.  <a href="#gab185982ffe0b85b8fd19747bd1f433fe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd">dbnextrow</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read result row into the row buffer and into any bound host variables.  <a href="#gac67e6a022bb81195a120397ade07f5dd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga85dcc40c3615f94be96b09b2ec043533">dbnullbind</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column, DBINT *indicator)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tie a null-indicator to a regular result column.  <a href="#ga85dcc40c3615f94be96b09b2ec043533"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga67934deac3bebbf8238eff8c0559389a">dbnumalts</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int computeid)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get count of columns in a compute row.  <a href="#ga67934deac3bebbf8238eff8c0559389a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gadaa9482a082aa3fe52231e17749c2993">dbnumcols</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return number of regular columns in a result set.  <a href="#gadaa9482a082aa3fe52231e17749c2993"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gac554d2cb2da0c9f9fd3d4867998edcc4">dbnumcompute</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get count of <code>COMPUTE</code> clauses for a result set.  <a href="#gac554d2cb2da0c9f9fd3d4867998edcc4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga9dfc2ee533e5e48a7aa8ca22f8d9ed79">dbprhead</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print result set headings to stdout.  <a href="#ga9dfc2ee533e5e48a7aa8ca22f8d9ed79"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaa30be3414a97aac6139af2e928db91ca">dbprrow</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a result set to stdout.  <a href="#gaa30be3414a97aac6139af2e928db91ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gac25ae21ca19777ffab1c013bd6049ebf">dbprtype</a> (int token)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a token value's name to a buffer.  <a href="#gac25ae21ca19777ffab1c013bd6049ebf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">STATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gadd5685565c8c6c86079e17b8a73b324c">dbreadtext</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, void *buf, DBINT bufsize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fetch part of a text or image value from the server.  <a href="#gadd5685565c8c6c86079e17b8a73b324c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gabb14ad9f268b92a8d63fa506098b24dd">dbrecftos</a> (const char filename[])</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Record to a file all SQL commands sent to the server.  <a href="#gabb14ad9f268b92a8d63fa506098b24dd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931">dbresults</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up query results.  <a href="#ga4e26d949be2c3bf71b1a33c75b11d931"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gad0ccc03b94ba2515fd1f5d35559fcb41">dbsafestr</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, const char *src, DBINT srclen, char *dest, DBINT destlen, int quotetype)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">safely quotes character values in SQL text.  <a href="#gad0ccc03b94ba2515fd1f5d35559fcb41"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga39302e8efbb476ba01cff109ffb3661e">dbservcharset</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get <code>syscharset</code> name of the server character set.  <a href="#ga39302e8efbb476ba01cff109ffb3661e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga663350909fec3a1d152316c45a65e708">dbsetifile</a> (char *filename)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set name and location of the <code>interfaces</code> file FreeTDS should use to look up a servername.  <a href="#ga663350909fec3a1d152316c45a65e708"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga335fcbe476ad0f897e4e2ce377f0a8cc">dbsetinterrupt</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, DB_DBCHKINTR_FUNC chkintr, DB_DBHNDLINTR_FUNC hndlintr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set interrupt handler for db-lib to use while blocked against a read from the server.  <a href="#ga335fcbe476ad0f897e4e2ce377f0a8cc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga5f1281c07dde5a6d28e60ef62c501d1d">dbsetlogintime</a> (int seconds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set maximum seconds db-lib waits for a server response to a login attempt.  <a href="#ga5f1281c07dde5a6d28e60ef62c501d1d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaa22dce1ee0eb83059699c34c47d07c14">dbsetlversion</a> (<a class="el" href="a00070.html">LOGINREC</a> *login, BYTE version)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set TDS version for future connections.  <a href="#gaa22dce1ee0eb83059699c34c47d07c14"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaf2ca0e63f800b3839684c894ff651dd4">dbsetmaxprocs</a> (int maxprocs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set maximum simultaneous connections db-lib will open to the server.  <a href="#gaf2ca0e63f800b3839684c894ff651dd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga399512ec78c15ce3db79ea88ef3b1293">dbsetnull</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int bindtype, int bindlen, BYTE *bindval)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define substitution values to be used when binding null values.  <a href="#ga399512ec78c15ce3db79ea88ef3b1293"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga9d660d278f3f58871b4086c0e175f4c6">dbsetopt</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int option, const char *char_param, int int_param)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set db-lib or server option.  <a href="#ga9d660d278f3f58871b4086c0e175f4c6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gadc3d134bbec45ef16d2619de1922767d">dbsetrow</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, DBINT row)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a buffered row "current" without fetching it into bound variables.  <a href="#gadc3d134bbec45ef16d2619de1922767d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gada4b41f34542a87f0cd87e78e56d18bb">dbsettime</a> (int seconds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set maximum seconds db-lib waits for a server response to query.  <a href="#gada4b41f34542a87f0cd87e78e56d18bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gabea9c70d02bf3e46bbb1d759915cb91e">dbsetuserdata</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, BYTE *ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Associate client-allocated (and defined) data with a <code>DBPROCESS</code>.  <a href="#gabea9c70d02bf3e46bbb1d759915cb91e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gab9aa181fb3081ffb314340cbd71e434d">dbsetversion</a> (DBINT version)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify a db-lib version level.  <a href="#gab9aa181fb3081ffb314340cbd71e434d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga223a6d333f95e726b0b42ec19a076731">dbspid</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get server process ID for a <code>DBPROCESS</code>.  <a href="#ga223a6d333f95e726b0b42ec19a076731"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaf641c8e3d34607ca8b7ac2afed3e6d67">dbspr1row</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, char *buffer, DBINT buf_len)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a regular result row to a buffer.  <a href="#gaf641c8e3d34607ca8b7ac2afed3e6d67"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga308918c13a5b1644269c1654fbea96ac">dbspr1rowlen</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine size buffer required to hold the results returned by <a class="el" href="a00286.html#gaaa4839a9c88e5b90f33bd2407fcbc43e" title="Print result set headings to a buffer.">dbsprhead()</a>, <a class="el" href="a00286.html#gacfaf9feb29c87cfb660886162f643152" title="Get formatted string for underlining dbsprhead() column names.">dbsprline()</a>, and <a class="el" href="a00286.html#gaf641c8e3d34607ca8b7ac2afed3e6d67" title="Print a regular result row to a buffer.">dbspr1row()</a>.  <a href="#ga308918c13a5b1644269c1654fbea96ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaaa4839a9c88e5b90f33bd2407fcbc43e">dbsprhead</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, char *buffer, DBINT buf_len)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print result set headings to a buffer.  <a href="#gaaa4839a9c88e5b90f33bd2407fcbc43e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gacfaf9feb29c87cfb660886162f643152">dbsprline</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, char *buffer, DBINT buf_len, DBCHAR line_char)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get formatted string for underlining <a class="el" href="a00286.html#gaaa4839a9c88e5b90f33bd2407fcbc43e" title="Print result set headings to a buffer.">dbsprhead()</a> column names.  <a href="#gacfaf9feb29c87cfb660886162f643152"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaae889abeb145ec41f7361aa8f597fe46">dbsqlexec</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send the SQL command to the server and wait for an answer.  <a href="#gaae889abeb145ec41f7361aa8f597fe46"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gae1f50a6a2c31fda57cb481922b06841e">dbsqlok</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wait for results of a query from the server.  <a href="#gae1f50a6a2c31fda57cb481922b06841e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gac980139b9cea03cf93e373d425991481">dbsqlsend</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transmit the command buffer to the server.  <a href="#gac980139b9cea03cf93e373d425991481"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga5f24dbd49976e155098a1ff9f3ec3641">dbstrbuild</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, char *charbuf, int bufsize, char *text, char *formats,...)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Build a printable string from text containing placeholders for variables.  <a href="#ga5f24dbd49976e155098a1ff9f3ec3641"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaf130b12e9e58b1bfd4a6685e33f5b3cd">dbstrcpy</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int start, int numbytes, char *dest)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a copy of a chunk of the command buffer.  <a href="#gaf130b12e9e58b1bfd4a6685e33f5b3cd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga13caa07ec45cd6f64e9197d29e3cfe5e">dbstrlen</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of the command buffer, in bytes.  <a href="#ga13caa07ec45cd6f64e9197d29e3cfe5e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga9804fc70ae6ed35c92cd75d410dad570">dbtablecolinfo</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, DBINT column, <a class="el" href="a00054.html">DBCOL</a> *pdbcol)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">describe table column attributes with a single call (Freetds-only API function modelled on dbcolinfo)  <a href="#ga9804fc70ae6ed35c92cd75d410dad570"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBBINARY *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga57e4098b153a030f0be02bcd98e08ba2">dbtxptr</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get text pointer for a column in the current row.  <a href="#ga57e4098b153a030f0be02bcd98e08ba2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBBINARY *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gac3f11142ec7ff25b1f8972af10fe9454">dbtxtimestamp</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get text timestamp for a column in the current row.  <a href="#gac3f11142ec7ff25b1f8972af10fe9454"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga66ea891910f0a357cc78107d6ab7d962">dbuse</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, const char *name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change current database.  <a href="#ga66ea891910f0a357cc78107d6ab7d962"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga57c856964a9a0b4cc43f5192647c51e7">dbvarylen</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, int column)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether a column can vary in size.  <a href="#ga57c856964a9a0b4cc43f5192647c51e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga666726c86108342b1c1f27eecf68e13c">dbversion</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See which version of db-lib is in use.  <a href="#ga666726c86108342b1c1f27eecf68e13c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DBBOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gaaf8349999c16b3c36caf5947747a2915">dbwillconvert</a> (int srctype, int desttype)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test whether or not a datatype can be converted to another datatype.  <a href="#gaaf8349999c16b3c36caf5947747a2915"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ga548153eb2eae76c48aa9d4b72258dc1c">dbwritetext</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, char *objname, DBBINARY *textptr, DBTINYINT textptrlen, DBBINARY *timestamp, DBBOOL log, DBINT size, BYTE *text)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send text or image data to the server.  <a href="#ga548153eb2eae76c48aa9d4b72258dc1c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#gabf3d9f8d5fe5089e1f34594843486b75">TDS_RCSID</a> (var,&quot;$Id: dblib.c,v 1.378.2.4 2011/06/07 08:52:29 freddy77 Exp $&quot;)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Core functions needed by most db-lib programs. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga8b263669ce0312e52b5ea42a57a56838"></a><!-- doxytag: member="sybdb.h::DBCMDROW" ref="ga8b263669ce0312e52b5ea42a57a56838" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBCMDROW</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbcmdrow((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro mapping to the Microsoft (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00292.html#ga196f6d67de47f34a32fcc2103ab0f416" title="See if the current command can return rows.">dbcmdrow()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga0ac1828f731a21c591c8d6330cbba3a9"></a><!-- doxytag: member="sybdb.h::DBCOUNT" ref="ga0ac1828f731a21c591c8d6330cbba3a9" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBCOUNT</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbcount((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro mapping to the Microsoft (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga9433bc200c0978569964354451d9b64e" title="Get count of rows processed.">dbcount()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gae375344b1ec50c1f756e3b69f3cef715"></a><!-- doxytag: member="sybdb.h::DBCURCMD" ref="gae375344b1ec50c1f756e3b69f3cef715" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBCURCMD</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbcurcmd((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro mapping to the Microsoft (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00292.html#ga01e7fb38bece3bb07526532fa6be50e5" title="Get number of the row just returned.">dbcurcmd()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaf49e4b58918bfa4d4adaa14ee5bb375c"></a><!-- doxytag: member="sybdb.h::DBCURROW" ref="gaf49e4b58918bfa4d4adaa14ee5bb375c" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBCURROW</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbcurrow((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro mapping to the Microsoft (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00292.html#ga9e23a95d84192b4fc83db7544d772d16" title="Get number of the row currently being read.">dbcurrow()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga2c7b5eec4843ea326b21f2db2ded2754"></a><!-- doxytag: member="sybdb.h::DBDEAD" ref="ga2c7b5eec4843ea326b21f2db2ded2754" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBDEAD</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbdead((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro mapping to the Microsoft (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00292.html#gaed43cb21ed54dc1a6340075d6290e4b0" title="Check if dbproc is an ex-parrot.">dbdead()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga97a6493786124215ec9fe4b4bd2d7cbb"></a><!-- doxytag: member="sybdb.h::DBFIRSTROW" ref="ga97a6493786124215ec9fe4b4bd2d7cbb" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBFIRSTROW</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbfirstrow((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro mapping to the Microsoft (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00292.html#gaf40b925f3b3ba43804720dd4ae584935" title="See if a server response has arrived.">dbfirstrow()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga74ac942f9b7baa49e1d7d18628321297"></a><!-- doxytag: member="sybdb.h::DBIORDESC" ref="ga74ac942f9b7baa49e1d7d18628321297" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBIORDESC</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbiordesc((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro, maps to the internal (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00292.html#gab842baac0ec420b265d8c199cc45059d" title="Get file descriptor of the socket used by a DBPROCESS to read data coming from the...">dbiordesc()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga5afb13924cda059d30be36a70dcf2cd9"></a><!-- doxytag: member="sybdb.h::DBIOWDESC" ref="ga5afb13924cda059d30be36a70dcf2cd9" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBIOWDESC</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbiowdesc((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro, maps to the internal (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00292.html#ga666a4d0609ee7f241deb0a62893d2cfa" title="Get file descriptor of the socket used by a DBPROCESS to write data coming to the...">dbiowdesc()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga40f6c951a851744e58ee715c652a8ac8"></a><!-- doxytag: member="sybdb.h::DBISAVAIL" ref="ga40f6c951a851744e58ee715c652a8ac8" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBISAVAIL</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbisavail((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro mapping to the Microsoft (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>dbisavail() </dd></dl>

</div>
</div>
<a class="anchor" id="ga10b9b26cf9a901146e9675a9e678632b"></a><!-- doxytag: member="sybdb.h::DBLASTROW" ref="ga10b9b26cf9a901146e9675a9e678632b" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBLASTROW</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dblastrow((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro mapping to the Microsoft (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00292.html#ga13ead146339b43b3a4d9049eb124ef4b" title="Get number of the last row in the row buffer.">dblastrow()</a>, <a class="el" href="a00286.html#ga97a6493786124215ec9fe4b4bd2d7cbb" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBFIRSTROW()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gad887bdce8cb0d3b8c6aaf659eb477b48"></a><!-- doxytag: member="sybdb.h::DBMORECMDS" ref="gad887bdce8cb0d3b8c6aaf659eb477b48" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBMORECMDS</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbmorecmds((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro mapping to the Microsoft (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gac3ba9f53cc77e4dde8f48335ed94ac19" title="See if more commands are to be processed.">dbmorecmds()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga48d71b32c26703c810191ef916c5448c"></a><!-- doxytag: member="sybdb.h::DBROWS" ref="ga48d71b32c26703c810191ef916c5448c" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBROWS</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbrows((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro mapping to the Microsoft (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00292.html#ga4be2ab59dc7161d6b93c17202e7ae9b1" title="Indicate whether a query returned rows.">dbrows()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga6fda3f4982dda5825d13fee392e89fd9"></a><!-- doxytag: member="sybdb.h::DBROWTYPE" ref="ga6fda3f4982dda5825d13fee392e89fd9" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBROWTYPE</td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbrowtype((x))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro mapping to the Microsoft (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00292.html#gaa2dc8c062342f76adffe53ee280b7fb4" title="Get returned row&#39;s type.">dbrowtype()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga316c0fd24b8dc1259ce9eb4d25016400"></a><!-- doxytag: member="sybdb.h::DBSETLCHARSET" ref="ga316c0fd24b8dc1259ce9eb4d25016400" args="(x, y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBSETLCHARSET</td>
          <td>(</td>
          <td class="paramtype">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">y&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbsetlname((x), (y), DBSETCHARSET)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the client character set in the login packet. </p>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Has no effect on TDS 7.0+ connections. </dd></dl>

</div>
</div>
<a class="anchor" id="gac51e3075197963557a8d2a37d82df921"></a><!-- doxytag: member="sybdb.h::DBSETLENCRYPT" ref="gac51e3075197963557a8d2a37d82df921" args="(x, y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBSETLENCRYPT</td>
          <td>(</td>
          <td class="paramtype">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">y&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbsetlbool((x), (y), DBSETENCRYPT)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enable (or not) network password encryption for Sybase servers version 10.0 or above. </p>
<dl class="todo"><dt><b><a class="el" href="a00306.html#_todo000022">Todo:</a></b></dt><dd>Unimplemented. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>dbsetlencrypt() </dd></dl>

</div>
</div>
<a class="anchor" id="ga30e0028e6208414c2245e5fcd6740d9d"></a><!-- doxytag: member="sybdb.h::dbsetlnatlang" ref="ga30e0028e6208414c2245e5fcd6740d9d" args="(x, y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dbsetlnatlang</td>
          <td>(</td>
          <td class="paramtype">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">y&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbsetlname((x), (y), DBSETNATLANG)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the language the server should use for messages. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gadada0e76c811a6fb84ce6759bcf116b5" title="Set the language the server should use for messages.">DBSETLNATLANG()</a>, <a class="el" href="a00292.html#gae1fc46447c4f8a9ff7f66607b8cd23b6" title="Set the value of a string in a LOGINREC structure.">dbsetlname()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gadada0e76c811a6fb84ce6759bcf116b5"></a><!-- doxytag: member="sybdb.h::DBSETLNATLANG" ref="gadada0e76c811a6fb84ce6759bcf116b5" args="(x, y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBSETLNATLANG</td>
          <td>(</td>
          <td class="paramtype">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">y&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbsetlname((x), (y), DBSETNATLANG)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the language the server should use for messages. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga30e0028e6208414c2245e5fcd6740d9d" title="Set the language the server should use for messages.">dbsetlnatlang()</a>, <a class="el" href="a00292.html#gae1fc46447c4f8a9ff7f66607b8cd23b6" title="Set the value of a string in a LOGINREC structure.">dbsetlname()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga0d0acc4ce2243e48023e022b50e2ac45"></a><!-- doxytag: member="sybdb.h::dbsetlpacket" ref="ga0d0acc4ce2243e48023e022b50e2ac45" args="(x, y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dbsetlpacket</td>
          <td>(</td>
          <td class="paramtype">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">y&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbsetllong((x), (y), DBSETPACKET)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the packet size in the login packet for new connections. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gae7e59f9c3cc0ec5916c06977ff7d8565" title="Set the packet size in the login packet for new connections.">DBSETLPACKET()</a>, <a class="el" href="a00292.html#gabdcccf4e0d093ff48c0e7048a4bfaf84" title="Set an integer value in a LOGINREC structure.">dbsetllong()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gae7e59f9c3cc0ec5916c06977ff7d8565"></a><!-- doxytag: member="sybdb.h::DBSETLPACKET" ref="gae7e59f9c3cc0ec5916c06977ff7d8565" args="(x, y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBSETLPACKET</td>
          <td>(</td>
          <td class="paramtype">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">y&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbsetllong((x), (y), DBSETPACKET)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the packet size in the login packet for new connections. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga0d0acc4ce2243e48023e022b50e2ac45" title="Set the packet size in the login packet for new connections.">dbsetlpacket()</a>, <a class="el" href="a00292.html#gabdcccf4e0d093ff48c0e7048a4bfaf84" title="Set an integer value in a LOGINREC structure.">dbsetllong()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga1644cf55d37435711df65c12a3f7b785"></a><!-- doxytag: member="sybdb.h::DBTDS" ref="ga1644cf55d37435711df65c12a3f7b785" args="(a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBTDS</td>
          <td>(</td>
          <td class="paramtype">a&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;dbtds(a)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sybase macro, maps to the internal (lower-case) function. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00292.html#ga8d765d810a40dfa01b39995a8e7406f0" title="Get the TDS version in use for dbproc.">dbtds()</a> </dd></dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gabcc14a1ca58b65bc46cce6c81c45218c"></a><!-- doxytag: member="dblib.c::dbadata" ref="gabcc14a1ca58b65bc46cce6c81c45218c" args="(DBPROCESS *dbproc, int computeid, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BYTE* dbadata </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>computeid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>column</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 address of compute column data. </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>computeid</em>&nbsp;</td><td>of <code>COMPUTE</code> clause to which we're referring. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>column</em>&nbsp;</td><td>Nth column in <em>computeid</em>, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to columns's data buffer. </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>NULL</em>&nbsp;</td><td>no such <em>computeid</em> or <em>column</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga3340e21db274b272ec11c037cb147222" title="Get size of data in a compute column.">dbadlen()</a>, <a class="el" href="a00286.html#gafefd17e15b22adda84366c817178dd7d" title="Bind a compute column to a program variable.">dbaltbind()</a>, <a class="el" href="a00286.html#ga9a35c8d3cd0e35c10555baf8f6a01e93" title="Get size of data in compute column.">dbaltlen()</a>, <a class="el" href="a00286.html#gaa85171e020dc606f2bd3395ad1d3ab4f" title="Get datatype for a compute column.">dbalttype()</a>, <a class="el" href="a00286.html#ga60fe544491c760f8bc6c37bc7f777d70" title="Read a row from the row buffer.">dbgetrow()</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#ga67934deac3bebbf8238eff8c0559389a" title="Get count of columns in a compute row.">dbnumalts()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga3340e21db274b272ec11c037cb147222"></a><!-- doxytag: member="dblib.c::dbadlen" ref="ga3340e21db274b272ec11c037cb147222" args="(DBPROCESS *dbproc, int computeid, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBINT dbadlen </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>computeid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>column</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 data in a compute column. </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>computeid</em>&nbsp;</td><td>of <code>COMPUTE</code> clause to which we're referring. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>column</em>&nbsp;</td><td>Nth column in <em>computeid</em>, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of the data, in bytes. </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>-1</em>&nbsp;</td><td>no such <em>column</em> or <em>computeid</em>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>data are NULL. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gabcc14a1ca58b65bc46cce6c81c45218c" title="Get address of compute column data.">dbadata()</a>, <a class="el" href="a00286.html#ga9a35c8d3cd0e35c10555baf8f6a01e93" title="Get size of data in compute column.">dbaltlen()</a>, <a class="el" href="a00286.html#gaa85171e020dc606f2bd3395ad1d3ab4f" title="Get datatype for a compute column.">dbalttype()</a>, <a class="el" href="a00286.html#ga60fe544491c760f8bc6c37bc7f777d70" title="Read a row from the row buffer.">dbgetrow()</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#ga67934deac3bebbf8238eff8c0559389a" title="Get count of columns in a compute row.">dbnumalts()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gafefd17e15b22adda84366c817178dd7d"></a><!-- doxytag: member="dblib.c::dbaltbind" ref="gafefd17e15b22adda84366c817178dd7d" args="(DBPROCESS *dbproc, int computeid, int column, int vartype, DBINT varlen, BYTE *varaddr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbaltbind </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>computeid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>column</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>vartype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>varlen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BYTE *&nbsp;</td>
          <td class="paramname"> <em>varaddr</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Bind a compute column to a program variable. </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>computeid</em>&nbsp;</td><td>of <code>COMPUTE</code> clause to which we're referring. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>column</em>&nbsp;</td><td>Nth column in <em>computeid</em>, starting from 1. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vartype</em>&nbsp;</td><td>datatype of the host variable that will receive the data </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>varlen</em>&nbsp;</td><td>size of host variable pointed to <em>varaddr</em> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>varaddr</em>&nbsp;</td><td>address of 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>everything worked. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>no such <em>computeid</em> or <em>column</em>, or no such conversion possible, or target buffer too small. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gabcc14a1ca58b65bc46cce6c81c45218c" title="Get address of compute column data.">dbadata()</a>, dbaltbind_ps(), <a class="el" href="a00286.html#ga939c2a2e67b9992c787e2cec5b6cc1a7" title="Tie a null-indicator to a compute result column.">dbanullbind()</a>, <a class="el" href="a00286.html#ga873bc0f4663165e711655ade1dfae795" title="Tie a host variable to a resultset column.">dbbind()</a>, dbbind_ps(), <a class="el" href="a00286.html#ga32eb72f6fb3edb130e59fb3dd0766e7e" title="Convert one datatype to another.">dbconvert()</a>, <a class="el" href="a00286.html#ga0320e4332d3107a6d5c5e949fcf8cac8" title="cf.">dbconvert_ps()</a>, <a class="el" href="a00286.html#ga85dcc40c3615f94be96b09b2ec043533" title="Tie a null-indicator to a regular result column.">dbnullbind()</a>, <a class="el" href="a00286.html#ga399512ec78c15ce3db79ea88ef3b1293" title="Define substitution values to be used when binding null values.">dbsetnull()</a>, <a class="el" href="a00286.html#gab9aa181fb3081ffb314340cbd71e434d" title="Specify a db-lib version level.">dbsetversion()</a>, <a class="el" href="a00286.html#gaaf8349999c16b3c36caf5947747a2915" title="Test whether or not a datatype can be converted to another datatype.">dbwillconvert()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gad10c9fd75a86c7a0ac375937df0e90a6"></a><!-- doxytag: member="dblib.c::dbaltcolid" ref="gad10c9fd75a86c7a0ac375937df0e90a6" args="(DBPROCESS *dbproc, int computeid, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbaltcolid </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>computeid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>column</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 column ID of a compute column. </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>computeid</em>&nbsp;</td><td>of <code>COMPUTE</code> clause to which we're referring. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>column</em>&nbsp;</td><td>Nth column in <em>computeid</em>, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Nth column in the base result set, on which <em>column</em> was computed. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gabcc14a1ca58b65bc46cce6c81c45218c" title="Get address of compute column data.">dbadata()</a>, <a class="el" href="a00286.html#ga3340e21db274b272ec11c037cb147222" title="Get size of data in a compute column.">dbadlen()</a>, <a class="el" href="a00286.html#ga9a35c8d3cd0e35c10555baf8f6a01e93" title="Get size of data in compute column.">dbaltlen()</a>, <a class="el" href="a00286.html#ga60fe544491c760f8bc6c37bc7f777d70" title="Read a row from the row buffer.">dbgetrow()</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#ga67934deac3bebbf8238eff8c0559389a" title="Get count of columns in a compute row.">dbnumalts()</a>, <a class="el" href="a00286.html#gac25ae21ca19777ffab1c013bd6049ebf" title="Print a token value&#39;s name to a buffer.">dbprtype()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9a35c8d3cd0e35c10555baf8f6a01e93"></a><!-- doxytag: member="dblib.c::dbaltlen" ref="ga9a35c8d3cd0e35c10555baf8f6a01e93" args="(DBPROCESS *dbproc, int computeid, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBINT dbaltlen </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>computeid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>column</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 data in compute column. </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>computeid</em>&nbsp;</td><td>of <code>COMPUTE</code> clause to which we're referring. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>column</em>&nbsp;</td><td>Nth column in <em>computeid</em>, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gabcc14a1ca58b65bc46cce6c81c45218c" title="Get address of compute column data.">dbadata()</a>, <a class="el" href="a00286.html#ga3340e21db274b272ec11c037cb147222" title="Get size of data in a compute column.">dbadlen()</a>, <a class="el" href="a00286.html#gaa85171e020dc606f2bd3395ad1d3ab4f" title="Get datatype for a compute column.">dbalttype()</a>, <a class="el" href="a00286.html#ga60fe544491c760f8bc6c37bc7f777d70" title="Read a row from the row buffer.">dbgetrow()</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#ga67934deac3bebbf8238eff8c0559389a" title="Get count of columns in a compute row.">dbnumalts()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga947837a5c8fd99898c043435945b668c"></a><!-- doxytag: member="dblib.c::dbaltop" ref="ga947837a5c8fd99898c043435945b668c" args="(DBPROCESS *dbproc, int computeid, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbaltop </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>computeid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>column</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 aggregation operator for a compute column. </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>computeid</em>&nbsp;</td><td>of <code>COMPUTE</code> clause to which we're referring. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>column</em>&nbsp;</td><td>Nth column in <em>computeid</em>, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>token value for the type of the compute column's aggregation operator. </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>-1</em>&nbsp;</td><td>no such <em>computeid</em> or <em>column</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gabcc14a1ca58b65bc46cce6c81c45218c" title="Get address of compute column data.">dbadata()</a>, <a class="el" href="a00286.html#ga3340e21db274b272ec11c037cb147222" title="Get size of data in a compute column.">dbadlen()</a>, <a class="el" href="a00286.html#ga9a35c8d3cd0e35c10555baf8f6a01e93" title="Get size of data in compute column.">dbaltlen()</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#ga67934deac3bebbf8238eff8c0559389a" title="Get count of columns in a compute row.">dbnumalts()</a>, <a class="el" href="a00286.html#gac25ae21ca19777ffab1c013bd6049ebf" title="Print a token value&#39;s name to a buffer.">dbprtype()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gaa85171e020dc606f2bd3395ad1d3ab4f"></a><!-- doxytag: member="dblib.c::dbalttype" ref="gaa85171e020dc606f2bd3395ad1d3ab4f" args="(DBPROCESS *dbproc, int computeid, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbalttype </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>computeid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>column</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 for a compute column. </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>computeid</em>&nbsp;</td><td>of <code>COMPUTE</code> clause to which we're referring. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>column</em>&nbsp;</td><td>Nth column in <em>computeid</em>, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>SYB*</code> dataype token. </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>-1</em>&nbsp;</td><td>no such <em>column</em> or <em>computeid</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gabcc14a1ca58b65bc46cce6c81c45218c" title="Get address of compute column data.">dbadata()</a>, <a class="el" href="a00286.html#ga3340e21db274b272ec11c037cb147222" title="Get size of data in a compute column.">dbadlen()</a>, <a class="el" href="a00286.html#ga9a35c8d3cd0e35c10555baf8f6a01e93" title="Get size of data in compute column.">dbaltlen()</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#ga67934deac3bebbf8238eff8c0559389a" title="Get count of columns in a compute row.">dbnumalts()</a>, <a class="el" href="a00286.html#gac25ae21ca19777ffab1c013bd6049ebf" title="Print a token value&#39;s name to a buffer.">dbprtype()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gaf1c00d83dfa88dc99a3fb449c49660ea"></a><!-- doxytag: member="dblib.c::dbaltutype" ref="gaf1c00d83dfa88dc99a3fb449c49660ea" args="(DBPROCESS *dbproc, int computeid, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBINT dbaltutype </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>computeid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>column</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 user-defined datatype of a compute column. </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>computeid</em>&nbsp;</td><td>of <code>COMPUTE</code> clause to which we're referring. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>column</em>&nbsp;</td><td>Nth column in <em>computeid</em>, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>user-defined datatype of compute column, else -1. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gaa85171e020dc606f2bd3395ad1d3ab4f" title="Get datatype for a compute column.">dbalttype()</a>, <a class="el" href="a00286.html#gab33d2f4fd44f50e55b6c71902db4fdae" title="Get user-defined datatype of a regular result column.">dbcolutype()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga939c2a2e67b9992c787e2cec5b6cc1a7"></a><!-- doxytag: member="dblib.c::dbanullbind" ref="ga939c2a2e67b9992c787e2cec5b6cc1a7" args="(DBPROCESS *dbproc, int computeid, int column, DBINT *indicator)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbanullbind </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>computeid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>column</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT *&nbsp;</td>
          <td class="paramname"> <em>indicator</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tie a null-indicator to a compute result column. </p>
<p>When a row is fetched, the indicator variable tells the state of the column's data.</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>computeid</em>&nbsp;</td><td>identifies which one of potientially many compute rows is meant. The first compute clause has <em>computeid</em> == 1. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>column</em>&nbsp;</td><td>Nth column in the result set, starting with 1. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>indicator</em>&nbsp;</td><td>address of 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>variable accepted. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td><em>indicator</em> is NULL or <em>column</em> is out of range. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Contents of <em>indicator</em> are set with <code><a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a></code>. Possible values are:<ul>
<li>0 <em>column</em> bound successfully</li>
<li>-1 <em>column</em> is NULL.</li>
<li>&gt;0 true length of data, had <em>column</em> not been truncated due to insufficient space in the columns bound host variable . </li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gabcc14a1ca58b65bc46cce6c81c45218c" title="Get address of compute column data.">dbadata()</a>, <a class="el" href="a00286.html#ga3340e21db274b272ec11c037cb147222" title="Get size of data in a compute column.">dbadlen()</a>, <a class="el" href="a00286.html#gafefd17e15b22adda84366c817178dd7d" title="Bind a compute column to a program variable.">dbaltbind()</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#ga85dcc40c3615f94be96b09b2ec043533" title="Tie a null-indicator to a regular result column.">dbnullbind()</a>. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="a00306.html#_todo000009">Todo:</a></b></dt><dd>Never fails, but only because failure conditions aren't checked. </dd></dl>

</div>
</div>
<a class="anchor" id="ga873bc0f4663165e711655ade1dfae795"></a><!-- doxytag: member="dblib.c::dbbind" ref="ga873bc0f4663165e711655ade1dfae795" args="(DBPROCESS *dbproc, int column, int vartype, DBINT varlen, BYTE *varaddr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbbind </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>column</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>vartype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>varlen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BYTE *&nbsp;</td>
          <td class="paramname"> <em>varaddr</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tie a host variable to a resultset column. </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>column</em>&nbsp;</td><td>Nth column, starting at 1. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vartype</em>&nbsp;</td><td>datatype of the host variable that will receive the data </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>varlen</em>&nbsp;</td><td>size of host variable pointed to <em>varaddr</em> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>varaddr</em>&nbsp;</td><td>address of 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>everything worked. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>no such <em>column</em> or no such conversion possible, or target buffer too small. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="gae658a0cd5270f3bd6f22de17b2cb2e64"></a><!-- doxytag: member="dblib.c::dbbylist" ref="gae658a0cd5270f3bd6f22de17b2cb2e64" args="(DBPROCESS *dbproc, int computeid, int *size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BYTE* dbbylist </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>computeid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>size</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 <code>bylist</code> for a compute row. </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>computeid</em>&nbsp;</td><td>of <code>COMPUTE</code> clause to which we're referring. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td><em>output:</em> size of <code>bylist</code> buffer whose address is returned, possibly zero. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>address of <code>bylist</code> for <em>computeid</em>. </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>NULL</em>&nbsp;</td><td>no such <em>computeid</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Do not free returned pointer. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gabcc14a1ca58b65bc46cce6c81c45218c" title="Get address of compute column data.">dbadata()</a>, <a class="el" href="a00286.html#ga3340e21db274b272ec11c037cb147222" title="Get size of data in a compute column.">dbadlen()</a>, <a class="el" href="a00286.html#ga9a35c8d3cd0e35c10555baf8f6a01e93" title="Get size of data in compute column.">dbaltlen()</a>, <a class="el" href="a00286.html#gaa85171e020dc606f2bd3395ad1d3ab4f" title="Get datatype for a compute column.">dbalttype()</a>, <a class="el" href="a00286.html#gad06f5deddac18604dfa858b2580e232f" title="Return name of a regular result column.">dbcolname()</a>, <a class="el" href="a00286.html#ga60fe544491c760f8bc6c37bc7f777d70" title="Read a row from the row buffer.">dbgetrow()</a>, <a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga5ea23272124fff03b8d87538c1ec3ee5"></a><!-- doxytag: member="dblib.c::dbcancel" ref="ga5ea23272124fff03b8d87538c1ec3ee5" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbcancel </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>Cancel the current command batch. </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>always. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga559e24ba70d0d96c3469eb6ab8f74e05" title="Cancel the query currently being retrieved, discarding all pending rows.">dbcanquery()</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="a00286.html#ga335fcbe476ad0f897e4e2ce377f0a8cc" title="Set interrupt handler for db-lib to use while blocked against a read from the server...">dbsetinterrupt()</a>, <a class="el" href="a00286.html#gaae889abeb145ec41f7361aa8f597fe46" title="send the SQL command to the server and wait for an answer.">dbsqlexec()</a>, <a class="el" href="a00286.html#gae1f50a6a2c31fda57cb481922b06841e" title="Wait for results of a query from the server.">dbsqlok()</a>, <a class="el" href="a00286.html#gac980139b9cea03cf93e373d425991481" title="Transmit the command buffer to the server.">dbsqlsend()</a>. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="a00306.html#_todo000011">Todo:</a></b></dt><dd>Check for failure and return accordingly. </dd></dl>

</div>
</div>
<a class="anchor" id="ga559e24ba70d0d96c3469eb6ab8f74e05"></a><!-- doxytag: member="dblib.c::dbcanquery" ref="ga559e24ba70d0d96c3469eb6ab8f74e05" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbcanquery </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>Cancel the query currently being retrieved, discarding all pending rows. </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="see"><dt><b>See also:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="ga8cbc761b1266bd947783d843aeeec264"></a><!-- doxytag: member="dblib.c::dbchange" ref="ga8cbc761b1266bd947783d843aeeec264" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* dbchange </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>See if a command caused the current database to change. </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>name of new database, if changed, as a null-terminated ASCII string, else <code>NULL</code>.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gab185982ffe0b85b8fd19747bd1f433fe" title="Get name of current database.">dbname()</a>, <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a>, <a class="el" href="a00286.html#gaae889abeb145ec41f7361aa8f597fe46" title="send the SQL command to the server and wait for an answer.">dbsqlexec()</a>, <a class="el" href="a00286.html#gac980139b9cea03cf93e373d425991481" title="Transmit the command buffer to the server.">dbsqlsend()</a>, <a class="el" href="a00286.html#ga66ea891910f0a357cc78107d6ab7d962" title="Change current database.">dbuse()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gaef740b394b44eb33925c2718f7b30d69"></a><!-- doxytag: member="dblib.c::dbclose" ref="gaef740b394b44eb33925c2718f7b30d69" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbclose </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>Close a connection to the server and free associated resources. </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="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gad0044401c8c83205583f93a4764f2d8b" title="Close server connections and free all related structures.">dbexit()</a>, <a class="el" href="a00156.html#ae408d8e1c2ab0767d8bfd26d00d1ff6a" title="Normally not used.">dbopen()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga01404b179a251c249aecfdae72ec6ca4"></a><!-- doxytag: member="dblib.c::dbclrbuf" ref="ga01404b179a251c249aecfdae72ec6ca4" args="(DBPROCESS *dbproc, DBINT n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbclrbuf </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">DBINT&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear <em>n</em> rows from the row buffer. </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>n</em>&nbsp;</td><td>number of rows to remove, &gt;= 0. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga60fe544491c760f8bc6c37bc7f777d70" title="Read a row from the row buffer.">dbgetrow()</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#ga9d660d278f3f58871b4086c0e175f4c6" title="Set db-lib or server option.">dbsetopt()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga93ee3c8ca34a08588f88784898fd69e0"></a><!-- doxytag: member="dblib.c::dbclropt" ref="ga93ee3c8ca34a08588f88784898fd69e0" args="(DBPROCESS *dbproc, int option, const char param[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbclropt </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>option</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char&nbsp;</td>
          <td class="paramname"> <em>param</em>[]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reset an option. </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>option</em>&nbsp;</td><td>to be turned off. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>clearing some options requires a parameter, believe it or not. </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><em>option</em> and <em>parameter</em> seem sane. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>no such <em>option</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Only the following options are recognized:<ul>
<li>DBARITHABORT</li>
<li>DBARITHIGNORE</li>
<li>DBCHAINXACTS</li>
<li>DBFIPSFLAG</li>
<li>DBISOLATION</li>
<li>DBNOCOUNT</li>
<li>DBNOEXEC</li>
<li>DBPARSEONLY</li>
<li>DBSHOWPLAN</li>
<li>DBSTORPROCID</li>
<li>DBQUOTEDIDENT </li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gac3eb8cb53f50998403ea9aebc6263df9" title="Get value of an option.">dbisopt()</a>, <a class="el" href="a00286.html#ga9d660d278f3f58871b4086c0e175f4c6" title="Set db-lib or server option.">dbsetopt()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga87b39d9863316b4ba85654b0885d53a0"></a><!-- doxytag: member="dblib.c::dbcmd" ref="ga87b39d9863316b4ba85654b0885d53a0" args="(DBPROCESS *dbproc, const char cmdstring[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbcmd </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>cmdstring</em>[]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><code>Append</code> SQL to the command buffer. </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>cmdstring</em>&nbsp;</td><td>SQL to append to the command buffer. </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>success. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>insufficient memory. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>set command state to <code>DBCMDPEND</code> unless the command state is DBCMDSENT, in which case it frees the command buffer. This latter may or may not be the Right Thing to do. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga43727b10d4cbb7708b374811abe6eadb" title="printf-like way to form SQL to send to the server.">dbfcmd()</a>, <a class="el" href="a00286.html#ga0fcfcf6846442dac9dd5584d270ec72a" title="Erase the command buffer, in case DBNOAUTOFREE was set with dbsetopt().">dbfreebuf()</a>, <a class="el" href="a00286.html#gaf917cf746c954a5d1b718afe3c4d1940" title="Get address of a position in the command buffer.">dbgetchar()</a>, <a class="el" href="a00156.html#ae408d8e1c2ab0767d8bfd26d00d1ff6a" title="Normally not used.">dbopen()</a>, <a class="el" href="a00286.html#gaf130b12e9e58b1bfd4a6685e33f5b3cd" title="Get a copy of a chunk of the command buffer.">dbstrcpy()</a>, <a class="el" href="a00286.html#ga13caa07ec45cd6f64e9197d29e3cfe5e" title="Get size of the command buffer, in bytes.">dbstrlen()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga89fc5589b4bf41932324d2cfc6ad6433"></a><!-- doxytag: member="dblib.c::dbcollen" ref="ga89fc5589b4bf41932324d2cfc6ad6433" args="(DBPROCESS *dbproc, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBINT dbcollen </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>column</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 a regular result column. </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>column</em>&nbsp;</td><td>Nth in the result set, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of the column (not of data in any particular row). On error, -1. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gad06f5deddac18604dfa858b2580e232f" title="Return name of a regular result column.">dbcolname()</a>, <a class="el" href="a00286.html#ga636e6f1b64743f3cf22158a56eef371f" title="Get the datatype of a regular result set column.">dbcoltype()</a>, <a class="el" href="a00286.html#gaee60c306a22383805a4b9caa647a1e16" title="Get address of data in a regular result column.">dbdata()</a>, <a class="el" href="a00286.html#gae666d141533126babb0235af21bdca0f" title="Get size of current row&#39;s data in a regular result column.">dbdatlen()</a>, <a class="el" href="a00286.html#gadaa9482a082aa3fe52231e17749c2993" title="Return number of regular columns in a result set.">dbnumcols()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gad06f5deddac18604dfa858b2580e232f"></a><!-- doxytag: member="dblib.c::dbcolname" ref="gad06f5deddac18604dfa858b2580e232f" args="(DBPROCESS *dbproc, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* dbcolname </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>column</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return name of a regular result column. </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>column</em>&nbsp;</td><td>Nth in the result set, starting with 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to ASCII null-terminated string, the name of the column. </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>NULL</em>&nbsp;</td><td><em>column</em> is not in range. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga89fc5589b4bf41932324d2cfc6ad6433" title="Get size of a regular result column.">dbcollen()</a>, <a class="el" href="a00286.html#ga636e6f1b64743f3cf22158a56eef371f" title="Get the datatype of a regular result set column.">dbcoltype()</a>, <a class="el" href="a00286.html#gaee60c306a22383805a4b9caa647a1e16" title="Get address of data in a regular result column.">dbdata()</a>, <a class="el" href="a00286.html#gae666d141533126babb0235af21bdca0f" title="Get size of current row&#39;s data in a regular result column.">dbdatlen()</a>, <a class="el" href="a00286.html#gadaa9482a082aa3fe52231e17749c2993" title="Return number of regular columns in a result set.">dbnumcols()</a>. </dd></dl>
<dl class="bug"><dt><b><a class="el" href="a00307.html#_bug000001">Bug:</a></b></dt><dd>Relies on ASCII column names, post iconv conversion. Will not work as described for UTF-8 or UCS-2 clients. But maybe it shouldn't. </dd></dl>

</div>
</div>
<a class="anchor" id="ga3a96d0188e5e0eb9eea661b3685fdcc3"></a><!-- doxytag: member="dblib.c::dbcolsource" ref="ga3a96d0188e5e0eb9eea661b3685fdcc3" args="(DBPROCESS *dbproc, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* dbcolsource </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>column</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 base database column name for a result set column. </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>column</em>&nbsp;</td><td>Nth in the result set, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to ASCII null-terminated string, the name of the column. On error, NULL. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>dbcolbrowse(), dbqual(), dbtabbrowse(), dbtabcount(), dbtabname(), dbtabsource(), dbtsnewlen(), dbtsnewval(), dbtsput(). </dd></dl>

</div>
</div>
<a class="anchor" id="ga636e6f1b64743f3cf22158a56eef371f"></a><!-- doxytag: member="dblib.c::dbcoltype" ref="ga636e6f1b64743f3cf22158a56eef371f" args="(DBPROCESS *dbproc, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbcoltype </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>column</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 the datatype of a regular result set column. </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>column</em>&nbsp;</td><td>Nth in the result set, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>SYB*</code> datetype token value, or zero if <em>column</em> out of range </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga89fc5589b4bf41932324d2cfc6ad6433" title="Get size of a regular result column.">dbcollen()</a>, <a class="el" href="a00286.html#gad06f5deddac18604dfa858b2580e232f" title="Return name of a regular result column.">dbcolname()</a>, <a class="el" href="a00286.html#gaee60c306a22383805a4b9caa647a1e16" title="Get address of data in a regular result column.">dbdata()</a>, <a class="el" href="a00286.html#gae666d141533126babb0235af21bdca0f" title="Get size of current row&#39;s data in a regular result column.">dbdatlen()</a>, <a class="el" href="a00286.html#gadaa9482a082aa3fe52231e17749c2993" title="Return number of regular columns in a result set.">dbnumcols()</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#ga57c856964a9a0b4cc43f5192647c51e7" title="Determine whether a column can vary in size.">dbvarylen()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga3c33e72c41b40e08dbcfdfa0d16bc399"></a><!-- doxytag: member="dblib.c::dbcoltypeinfo" ref="ga3c33e72c41b40e08dbcfdfa0d16bc399" args="(DBPROCESS *dbproc, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00064.html">DBTYPEINFO</a>* dbcoltypeinfo </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>column</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 precision and scale information for a regular result column. </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>column</em>&nbsp;</td><td>Nth in the result set, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to a DBTYPEINFO structure . NULL <em>column</em> is out of range. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga89fc5589b4bf41932324d2cfc6ad6433" title="Get size of a regular result column.">dbcollen()</a>, <a class="el" href="a00286.html#gad06f5deddac18604dfa858b2580e232f" title="Return name of a regular result column.">dbcolname()</a>, <a class="el" href="a00286.html#ga636e6f1b64743f3cf22158a56eef371f" title="Get the datatype of a regular result set column.">dbcoltype()</a>, <a class="el" href="a00286.html#gaee60c306a22383805a4b9caa647a1e16" title="Get address of data in a regular result column.">dbdata()</a>, <a class="el" href="a00286.html#gae666d141533126babb0235af21bdca0f" title="Get size of current row&#39;s data in a regular result column.">dbdatlen()</a>, <a class="el" href="a00286.html#gadaa9482a082aa3fe52231e17749c2993" title="Return number of regular columns in a result set.">dbnumcols()</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#ga57c856964a9a0b4cc43f5192647c51e7" title="Determine whether a column can vary in size.">dbvarylen()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gab33d2f4fd44f50e55b6c71902db4fdae"></a><!-- doxytag: member="dblib.c::dbcolutype" ref="gab33d2f4fd44f50e55b6c71902db4fdae" args="(DBPROCESS *dbproc, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbcolutype </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>column</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 user-defined datatype of a regular result column. </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>column</em>&nbsp;</td><td>Nth in the result set, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>SYB*</code> datetype token value, or -1 if <em>column</em> out of range </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gaf1c00d83dfa88dc99a3fb449c49660ea" title="Get user-defined datatype of a compute column.">dbaltutype()</a>, <a class="el" href="a00286.html#ga636e6f1b64743f3cf22158a56eef371f" title="Get the datatype of a regular result set column.">dbcoltype()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga32eb72f6fb3edb130e59fb3dd0766e7e"></a><!-- doxytag: member="dblib.c::dbconvert" ref="ga32eb72f6fb3edb130e59fb3dd0766e7e" args="(DBPROCESS *dbproc, int srctype, const BYTE *src, DBINT srclen, int desttype, BYTE *dest, DBINT destlen)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBINT dbconvert </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>srctype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const BYTE *&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>srclen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>desttype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BYTE *&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>destlen</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert one datatype to another. </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>srctype</em>&nbsp;</td><td>datatype of the data to convert. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>buffer to convert </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>srclen</em>&nbsp;</td><td>length of <em>src</em> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>desttype</em>&nbsp;</td><td>target datatype </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>output buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>destlen</em>&nbsp;</td><td>size of <em>dest</em> </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>On success, the count of output bytes in <em>dest</em>, else -1. On failure, it will call any user-supplied error handler. </dd></dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Causes of failure:<ul>
<li>No such conversion unavailable.</li>
<li>Character data output was truncated, or numerical data overflowed or lost precision.</li>
<li>In converting character data to one of the numeric types, the string could not be interpreted as a number.</li>
</ul>
</dd></dl>
<p>Conversion functions are handled in the TDS layer.</p>
<p>The main reason for this is that <code>ct-lib</code> and <code>ODBC</code> (and presumably <code>DBI</code>) need to be able to do conversions between datatypes. This is possible because the format of complex data (dates, money, numeric, decimal) is defined by its representation on the wire; thus what we call <code><a class="el" href="a00059.html">DBMONEY</a></code> is exactly its format on the wire. CLIs that need a different representation (ODBC?) need to convert from this format anyway, so the code would already be in place.</p>
<p>Each datatype is also defined by its Server-type so all CLIs should be able to map native types to server types as well.</p>
<p><a class="el" href="a00298.html#gaa865e08f7ad70ef92b111c2ea3657457" title="tds_convert convert a type to another.">tds_convert()</a> copies from src to dest and returns the output data length, period. All padding and termination is the responsibility of the API library and is done post-conversion. The peculiar rule in <a class="el" href="a00286.html#ga32eb72f6fb3edb130e59fb3dd0766e7e" title="Convert one datatype to another.">dbconvert()</a> is that a <em>destlen</em> of -1 and a <em>desttype</em> of <code>SYBCHAR</code> means the output buffer should be null-terminated.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gafefd17e15b22adda84366c817178dd7d" title="Bind a compute column to a program variable.">dbaltbind()</a>, dbaltbind_ps(), <a class="el" href="a00286.html#ga873bc0f4663165e711655ade1dfae795" title="Tie a host variable to a resultset column.">dbbind()</a>, dbbind_ps(), <a class="el" href="a00286.html#ga0320e4332d3107a6d5c5e949fcf8cac8" title="cf.">dbconvert_ps()</a>, <a class="el" href="a00286.html#gab8209543de865f359bdb32829fa8b757" title="Set an error handler, for messages from db-lib.">dberrhandle()</a>, <a class="el" href="a00286.html#ga399512ec78c15ce3db79ea88ef3b1293" title="Define substitution values to be used when binding null values.">dbsetnull()</a>, <a class="el" href="a00286.html#gab9aa181fb3081ffb314340cbd71e434d" title="Specify a db-lib version level.">dbsetversion()</a>, <a class="el" href="a00286.html#gaaf8349999c16b3c36caf5947747a2915" title="Test whether or not a datatype can be converted to another datatype.">dbwillconvert()</a>. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="a00306.html#_todo000008">Todo:</a></b></dt><dd><p class="startdd">What happens if client does not reset values? </p>
<p class="enddd">Microsoft and Sybase define this function differently. </p>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga0320e4332d3107a6d5c5e949fcf8cac8"></a><!-- doxytag: member="dblib.c::dbconvert_ps" ref="ga0320e4332d3107a6d5c5e949fcf8cac8" args="(DBPROCESS *dbproc, int srctype, BYTE *src, DBINT srclen, int desttype, BYTE *dest, DBINT destlen, DBTYPEINFO *typeinfo)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBINT dbconvert_ps </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>srctype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BYTE *&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>srclen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>desttype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BYTE *&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>destlen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00064.html">DBTYPEINFO</a> *&nbsp;</td>
          <td class="paramname"> <em>typeinfo</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>cf. </p>
<p><a class="el" href="a00286.html#ga32eb72f6fb3edb130e59fb3dd0766e7e" title="Convert one datatype to another.">dbconvert()</a>, above</p>
<p><em>Sybase:</em> Convert numeric types. </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>srctype</em>&nbsp;</td><td>datatype of the data to convert. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>buffer to convert </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>srclen</em>&nbsp;</td><td>length of <em>src</em> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>desttype</em>&nbsp;</td><td>target datatype </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>output buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>destlen</em>&nbsp;</td><td>size of <em>dest</em> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>typeinfo</em>&nbsp;</td><td>address of a <code>DBTYPEINFO</code> structure that governs the precision &amp; scale of the output, may be <code>NULL</code>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gafefd17e15b22adda84366c817178dd7d" title="Bind a compute column to a program variable.">dbaltbind()</a>, dbaltbind_ps(), <a class="el" href="a00286.html#ga873bc0f4663165e711655ade1dfae795" title="Tie a host variable to a resultset column.">dbbind()</a>, dbbind_ps(), <a class="el" href="a00286.html#ga32eb72f6fb3edb130e59fb3dd0766e7e" title="Convert one datatype to another.">dbconvert()</a>, <a class="el" href="a00286.html#gab8209543de865f359bdb32829fa8b757" title="Set an error handler, for messages from db-lib.">dberrhandle()</a>, <a class="el" href="a00286.html#ga399512ec78c15ce3db79ea88ef3b1293" title="Define substitution values to be used when binding null values.">dbsetnull()</a>, <a class="el" href="a00286.html#gab9aa181fb3081ffb314340cbd71e434d" title="Specify a db-lib version level.">dbsetversion()</a>, <a class="el" href="a00286.html#gaaf8349999c16b3c36caf5947747a2915" title="Test whether or not a datatype can be converted to another datatype.">dbwillconvert()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9433bc200c0978569964354451d9b64e"></a><!-- doxytag: member="dblib.c::dbcount" ref="ga9433bc200c0978569964354451d9b64e" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBINT dbcount </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 rows processed. </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><ul>
<li>for insert/update/delete, count of rows affected.</li>
<li>for select, count of rows returned, after all rows have been fetched. </li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga0ac1828f731a21c591c8d6330cbba3a9" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBCOUNT()</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>. </dd></dl>

</div>
</div>
<a class="anchor" id="gaee60c306a22383805a4b9caa647a1e16"></a><!-- doxytag: member="dblib.c::dbdata" ref="gaee60c306a22383805a4b9caa647a1e16" args="(DBPROCESS *dbproc, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BYTE* dbdata </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>column</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 address of data in a regular result column. </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>column</em>&nbsp;</td><td>Nth in the result set, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer the data, or NULL if data are NULL, or if <em>column</em> is out of range. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga873bc0f4663165e711655ade1dfae795" title="Tie a host variable to a resultset column.">dbbind()</a>, <a class="el" href="a00286.html#ga89fc5589b4bf41932324d2cfc6ad6433" title="Get size of a regular result column.">dbcollen()</a>, <a class="el" href="a00286.html#gad06f5deddac18604dfa858b2580e232f" title="Return name of a regular result column.">dbcolname()</a>, <a class="el" href="a00286.html#ga636e6f1b64743f3cf22158a56eef371f" title="Get the datatype of a regular result set column.">dbcoltype()</a>, <a class="el" href="a00286.html#gae666d141533126babb0235af21bdca0f" title="Get size of current row&#39;s data in a regular result column.">dbdatlen()</a>, <a class="el" href="a00286.html#gadaa9482a082aa3fe52231e17749c2993" title="Return number of regular columns in a result set.">dbnumcols()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga3cfb1c1c8c50a09a9ac4d75800547f7a"></a><!-- doxytag: member="dblib.c::dbdatecrack" ref="ga3cfb1c1c8c50a09a9ac4d75800547f7a" args="(DBPROCESS *dbproc, DBDATEREC *output, DBDATETIME *datetime)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbdatecrack </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"><a class="el" href="a00123.html">DBDATEREC</a> *&nbsp;</td>
          <td class="paramname"> <em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00055.html">DBDATETIME</a> *&nbsp;</td>
          <td class="paramname"> <em>datetime</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Break a <a class="el" href="a00055.html">DBDATETIME</a> value into useful pieces. </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>di</em>&nbsp;</td><td><em>output:</em> structure to contain the exploded parts of <em>datetime</em>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>datetime</em>&nbsp;</td><td><em>input:</em> <code><a class="el" href="a00055.html">DBDATETIME</a></code> to be converted. </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>always. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>The members of <em>di</em> have different names, depending on whether <code>--with-msdblib</code> was configured.</dd></dl>
<p>If DBPROCESS is NULL, <a class="el" href="a00286.html#ga3cfb1c1c8c50a09a9ac4d75800547f7a" title="Break a DBDATETIME value into useful pieces.">dbdatecrack()</a> uses the compiled in default value of MSDBLIB as of when libsybdb was compiled, irrespective of its value when the application is compiled. This can lead to incorrect results because Sybase and Microsoft use different ranges -- [0,11] vs. [1,12] -- for the month.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga32eb72f6fb3edb130e59fb3dd0766e7e" title="Convert one datatype to another.">dbconvert()</a>, <a class="el" href="a00286.html#gaee60c306a22383805a4b9caa647a1e16" title="Get address of data in a regular result column.">dbdata()</a>, dbdatechar(), dbdatename(), dbdatepart(), <a class="el" href="a00292.html#ga2c99ec565452279e9a382451d89642eb" title="Form a connection with the server.">tdsdbopen()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gae666d141533126babb0235af21bdca0f"></a><!-- doxytag: member="dblib.c::dbdatlen" ref="gae666d141533126babb0235af21bdca0f" args="(DBPROCESS *dbproc, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBINT dbdatlen </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>column</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 current row's data in a regular result column. </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>column</em>&nbsp;</td><td>Nth in the result set, starting from 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of the data, in bytes. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga89fc5589b4bf41932324d2cfc6ad6433" title="Get size of a regular result column.">dbcollen()</a>, <a class="el" href="a00286.html#gad06f5deddac18604dfa858b2580e232f" title="Return name of a regular result column.">dbcolname()</a>, <a class="el" href="a00286.html#ga636e6f1b64743f3cf22158a56eef371f" title="Get the datatype of a regular result set column.">dbcoltype()</a>, <a class="el" href="a00286.html#gaee60c306a22383805a4b9caa647a1e16" title="Get address of data in a regular result column.">dbdata()</a>, <a class="el" href="a00286.html#gadaa9482a082aa3fe52231e17749c2993" title="Return number of regular columns in a result set.">dbnumcols()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gab8209543de865f359bdb32829fa8b757"></a><!-- doxytag: member="dblib.c::dberrhandle" ref="gab8209543de865f359bdb32829fa8b757" args="(EHANDLEFUNC handler)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EHANDLEFUNC dberrhandle </td>
          <td>(</td>
          <td class="paramtype">EHANDLEFUNC&nbsp;</td>
          <td class="paramname"> <em>handler</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set an error handler, for messages from db-lib. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handler</em>&nbsp;</td><td>pointer to callback function that will handle errors. Pass NULL to restore the default handler. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>address of prior handler, or NULL if none was previously installed. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga2c7b5eec4843ea326b21f2db2ded2754" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBDEAD()</a>, <a class="el" href="a00286.html#gadc8af9a65f3719804c2537fd737298ca" title="Set a message handler, for messages from the server.">dbmsghandle()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gad0044401c8c83205583f93a4764f2d8b"></a><!-- doxytag: member="dblib.c::dbexit" ref="gad0044401c8c83205583f93a4764f2d8b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbexit </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Close server connections and free all related structures. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gaef740b394b44eb33925c2718f7b30d69" title="Close a connection to the server and free associated resources.">dbclose()</a>, <a class="el" href="a00286.html#ga564dd3a1bb0425a8957f1714d8b2a7c0" title="Initialize db-lib.">dbinit()</a>, <a class="el" href="a00156.html#ae408d8e1c2ab0767d8bfd26d00d1ff6a" title="Normally not used.">dbopen()</a>. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="a00306.html#_todo000007">Todo:</a></b></dt><dd>breaks if ctlib/dblib used in same process. </dd></dl>

</div>
</div>
<a class="anchor" id="ga43727b10d4cbb7708b374811abe6eadb"></a><!-- doxytag: member="dblib.c::dbfcmd" ref="ga43727b10d4cbb7708b374811abe6eadb" args="(DBPROCESS *dbproc, const char *fmt,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbfcmd </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>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><code>printf-like</code> way to form SQL to send to the server. </p>
<p>Forms a command string and writes to the command buffer with <a class="el" href="a00286.html#ga87b39d9863316b4ba85654b0885d53a0" title="Append SQL to the command buffer.">dbcmd()</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>fmt</em>&nbsp;</td><td><code> man vasprintf</code> for details. </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>success. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>insufficient memory, or <a class="el" href="a00286.html#ga87b39d9863316b4ba85654b0885d53a0" title="Append SQL to the command buffer.">dbcmd()</a> failed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga87b39d9863316b4ba85654b0885d53a0" title="Append SQL to the command buffer.">dbcmd()</a>, <a class="el" href="a00286.html#ga0fcfcf6846442dac9dd5584d270ec72a" title="Erase the command buffer, in case DBNOAUTOFREE was set with dbsetopt().">dbfreebuf()</a>, <a class="el" href="a00286.html#gaf917cf746c954a5d1b718afe3c4d1940" title="Get address of a position in the command buffer.">dbgetchar()</a>, <a class="el" href="a00156.html#ae408d8e1c2ab0767d8bfd26d00d1ff6a" title="Normally not used.">dbopen()</a>, <a class="el" href="a00286.html#gaf130b12e9e58b1bfd4a6685e33f5b3cd" title="Get a copy of a chunk of the command buffer.">dbstrcpy()</a>, <a class="el" href="a00286.html#ga13caa07ec45cd6f64e9197d29e3cfe5e" title="Get size of the command buffer, in bytes.">dbstrlen()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga0fcfcf6846442dac9dd5584d270ec72a"></a><!-- doxytag: member="dblib.c::dbfreebuf" ref="ga0fcfcf6846442dac9dd5584d270ec72a" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbfreebuf </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>Erase the command buffer, in case <code>DBNOAUTOFREE</code> was set with <a class="el" href="a00286.html#ga9d660d278f3f58871b4086c0e175f4c6" title="Set db-lib or server option.">dbsetopt()</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>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga87b39d9863316b4ba85654b0885d53a0" title="Append SQL to the command buffer.">dbcmd()</a>, <a class="el" href="a00286.html#ga43727b10d4cbb7708b374811abe6eadb" title="printf-like way to form SQL to send to the server.">dbfcmd()</a>, <a class="el" href="a00286.html#gaf917cf746c954a5d1b718afe3c4d1940" title="Get address of a position in the command buffer.">dbgetchar()</a>, <a class="el" href="a00286.html#gaae889abeb145ec41f7361aa8f597fe46" title="send the SQL command to the server and wait for an answer.">dbsqlexec()</a>, <a class="el" href="a00286.html#gac980139b9cea03cf93e373d425991481" title="Transmit the command buffer to the server.">dbsqlsend()</a>, <a class="el" href="a00286.html#ga9d660d278f3f58871b4086c0e175f4c6" title="Set db-lib or server option.">dbsetopt()</a>, <a class="el" href="a00286.html#gaf130b12e9e58b1bfd4a6685e33f5b3cd" title="Get a copy of a chunk of the command buffer.">dbstrcpy()</a>, <a class="el" href="a00286.html#ga13caa07ec45cd6f64e9197d29e3cfe5e" title="Get size of the command buffer, in bytes.">dbstrlen()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gaf917cf746c954a5d1b718afe3c4d1940"></a><!-- doxytag: member="dblib.c::dbgetchar" ref="gaf917cf746c954a5d1b718afe3c4d1940" args="(DBPROCESS *dbproc, int pos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* dbgetchar </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>pos</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 address of a position in the command buffer. </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>pos</em>&nbsp;</td><td>offset within the command buffer, starting at <em>0</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>A bit overspecialized, this one. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga87b39d9863316b4ba85654b0885d53a0" title="Append SQL to the command buffer.">dbcmd()</a>, <a class="el" href="a00286.html#ga43727b10d4cbb7708b374811abe6eadb" title="printf-like way to form SQL to send to the server.">dbfcmd()</a>, <a class="el" href="a00286.html#ga0fcfcf6846442dac9dd5584d270ec72a" title="Erase the command buffer, in case DBNOAUTOFREE was set with dbsetopt().">dbfreebuf()</a>, <a class="el" href="a00286.html#gaf130b12e9e58b1bfd4a6685e33f5b3cd" title="Get a copy of a chunk of the command buffer.">dbstrcpy()</a>, <a class="el" href="a00286.html#ga13caa07ec45cd6f64e9197d29e3cfe5e" title="Get size of the command buffer, in bytes.">dbstrlen()</a>, </dd></dl>

</div>
</div>
<a class="anchor" id="gadb34c5c2aae50ac9f2a26d8984136997"></a><!-- doxytag: member="dblib.c::dbgetmaxprocs" ref="gadb34c5c2aae50ac9f2a26d8984136997" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbgetmaxprocs </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get maximum simultaneous connections db-lib will open to the server. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Current maximum. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gaf2ca0e63f800b3839684c894ff651dd4" title="Set maximum simultaneous connections db-lib will open to the server.">dbsetmaxprocs()</a>, <a class="el" href="a00156.html#ae408d8e1c2ab0767d8bfd26d00d1ff6a" title="Normally not used.">dbopen()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gabaf9aa756f7cb8bbec80d1c7201c6238"></a><!-- doxytag: member="dblib.c::dbgetpacket" ref="gabaf9aa756f7cb8bbec80d1c7201c6238" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbgetpacket </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 TDS packet size for the connection. </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>TDS packet size, in bytes. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gae7e59f9c3cc0ec5916c06977ff7d8565" title="Set the packet size in the login packet for new connections.">DBSETLPACKET()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga60fe544491c760f8bc6c37bc7f777d70"></a><!-- doxytag: member="dblib.c::dbgetrow" ref="ga60fe544491c760f8bc6c37bc7f777d70" args="(DBPROCESS *dbproc, DBINT row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbgetrow </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">DBINT&nbsp;</td>
          <td class="paramname"> <em>row</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a row from the row buffer. </p>
<p>When row buffering is enabled (DBBUFFER option is on), the client can use <a class="el" href="a00286.html#ga60fe544491c760f8bc6c37bc7f777d70" title="Read a row from the row buffer.">dbgetrow()</a> to re-read a row previously fetched with <a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a>. The effect is to move the row pointer -- analogous to fseek() -- back to <em>row</em>. Calls to <a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a> read from <em>row</em> + 1 until the buffer is exhausted, at which point it resumes its normal behavior, except that as each row is fetched from the server, it is added to the row buffer (in addition to being returned to the client). When the buffer is filled, <a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a> returns <code>FAIL</code> until the buffer is at least partially emptied with <a class="el" href="a00286.html#ga01404b179a251c249aecfdae72ec6ca4" title="Clear n rows from the row buffer.">dbclrbuf()</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>row</em>&nbsp;</td><td>Nth row to read, starting with 1. </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>REG_ROW</em>&nbsp;</td><td>returned row is a regular row. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>computeid when returned row is a compute row. </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>NO_MORE_ROWS</em>&nbsp;</td><td>no such row in the row buffer. Current row is unchanged. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>unsuccessful; row buffer may be full. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gafefd17e15b22adda84366c817178dd7d" title="Bind a compute column to a program variable.">dbaltbind()</a>, <a class="el" href="a00286.html#ga873bc0f4663165e711655ade1dfae795" title="Tie a host variable to a resultset column.">dbbind()</a>, <a class="el" href="a00286.html#ga01404b179a251c249aecfdae72ec6ca4" title="Clear n rows from the row buffer.">dbclrbuf()</a>, <a class="el" href="a00286.html#gaf49e4b58918bfa4d4adaa14ee5bb375c" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBCURROW()</a>, <a class="el" href="a00286.html#ga97a6493786124215ec9fe4b4bd2d7cbb" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBFIRSTROW()</a>, <a class="el" href="a00286.html#ga10b9b26cf9a901146e9675a9e678632b" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBLASTROW()</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#gadc3d134bbec45ef16d2619de1922767d" title="Make a buffered row &quot;current&quot; without fetching it into bound variables...">dbsetrow()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga6ccffbb3f0cfb10883ad349f1e47c50e"></a><!-- doxytag: member="dblib.c::dbgettime" ref="ga6ccffbb3f0cfb10883ad349f1e47c50e" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbgettime </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get maximum seconds db-lib waits for a server response to query. </p>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>timeout limit, in seconds </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gab8209543de865f359bdb32829fa8b757" title="Set an error handler, for messages from db-lib.">dberrhandle()</a>, DBSETTIME(), <a class="el" href="a00286.html#ga5f1281c07dde5a6d28e60ef62c501d1d" title="Set maximum seconds db-lib waits for a server response to a login attempt.">dbsetlogintime()</a>, <a class="el" href="a00286.html#gaae889abeb145ec41f7361aa8f597fe46" title="send the SQL command to the server and wait for an answer.">dbsqlexec()</a>, <a class="el" href="a00286.html#gae1f50a6a2c31fda57cb481922b06841e" title="Wait for results of a query from the server.">dbsqlok()</a>, <a class="el" href="a00286.html#gac980139b9cea03cf93e373d425991481" title="Transmit the command buffer to the server.">dbsqlsend()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gaa5714a91d7c14365fa1e5b164bb2b0b6"></a><!-- doxytag: member="dblib.c::dbgetuserdata" ref="gaa5714a91d7c14365fa1e5b164bb2b0b6" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BYTE* dbgetuserdata </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 address of user-allocated data from a <code>DBPROCESS</code>. </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>address of user-defined data that <code>db-lib</code> associated with <em>dbproc</em> when the client called <a class="el" href="a00286.html#gabea9c70d02bf3e46bbb1d759915cb91e" title="Associate client-allocated (and defined) data with a DBPROCESS.">dbsetuserdata()</a>. </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>undefined</em>&nbsp;</td><td>(probably <code>NULL</code>) <a class="el" href="a00286.html#gabea9c70d02bf3e46bbb1d759915cb91e" title="Associate client-allocated (and defined) data with a DBPROCESS.">dbsetuserdata()</a> was not previously called. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gabea9c70d02bf3e46bbb1d759915cb91e" title="Associate client-allocated (and defined) data with a DBPROCESS.">dbsetuserdata()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga564dd3a1bb0425a8957f1714d8b2a7c0"></a><!-- doxytag: member="dblib.c::dbinit" ref="ga564dd3a1bb0425a8957f1714d8b2a7c0" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbinit </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize db-lib. </p>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Call this function before trying to use db-lib in any way. Allocates various internal structures and reads <code>locales.conf</code> (if any) to determine the default date format. </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>cannot allocate an array of <code>TDS_MAX_CONN</code> <code>TDSSOCKET</code> pointers. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga6ba2a7f18cb76d24776e45fd71141494"></a><!-- doxytag: member="dblib.c::dbiscount" ref="ga6ba2a7f18cb76d24776e45fd71141494" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL dbiscount </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>Indicates whether or not the count returned by dbcount is real (Microsoft-compatibility feature). </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>TRUE if the count returned by dbcount is real or FALSE if the count returned by dbcount is not real. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga0ac1828f731a21c591c8d6330cbba3a9" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBCOUNT()</a>, <a class="el" href="a00286.html#ga9433bc200c0978569964354451d9b64e" title="Get count of rows processed.">dbcount()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gac3eb8cb53f50998403ea9aebc6263df9"></a><!-- doxytag: member="dblib.c::dbisopt" ref="gac3eb8cb53f50998403ea9aebc6263df9" args="(DBPROCESS *dbproc, int option, const char param[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBBOOL dbisopt </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>option</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char&nbsp;</td>
          <td class="paramname"> <em>param</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 option. </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>option</em>&nbsp;</td><td>the option </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>a parameter to <em>option</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga93ee3c8ca34a08588f88784898fd69e0" title="Reset an option.">dbclropt()</a>, <a class="el" href="a00286.html#ga9d660d278f3f58871b4086c0e175f4c6" title="Set db-lib or server option.">dbsetopt()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga0984798bb806f7451a53bffa7e2c430f"></a><!-- doxytag: member="dblib.c::dblogin" ref="ga0984798bb806f7451a53bffa7e2c430f" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00070.html">LOGINREC</a>* dblogin </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocate a <code><a class="el" href="a00070.html">LOGINREC</a></code> structure. </p>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>A <code><a class="el" href="a00070.html">LOGINREC</a></code> structure is passed to <code><a class="el" href="a00156.html#ae408d8e1c2ab0767d8bfd26d00d1ff6a" title="Normally not used.">dbopen()</a></code> to create a connection to the database. Does not communicate to the server; interacts strictly with library. </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>NULL</em>&nbsp;</td><td>the <code><a class="el" href="a00070.html">LOGINREC</a></code> cannot be allocated. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>LOGINREC*</em>&nbsp;</td><td>to valid memory, otherwise. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac1bdb1766b791153f37dceae8ff64ad6"></a><!-- doxytag: member="dblib.c::dbloginfree" ref="gac1bdb1766b791153f37dceae8ff64ad6" args="(LOGINREC *login)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbloginfree </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00070.html">LOGINREC</a> *&nbsp;</td>
          <td class="paramname"> <em>login</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>free the <code><a class="el" href="a00070.html">LOGINREC</a></code> </p>

</div>
</div>
<a class="anchor" id="gac3ba9f53cc77e4dde8f48335ed94ac19"></a><!-- doxytag: member="dblib.c::dbmorecmds" ref="gac3ba9f53cc77e4dde8f48335ed94ac19" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbmorecmds </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>See if more commands are to be processed. </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="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gad887bdce8cb0d3b8c6aaf659eb477b48" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBMORECMDS()</a>. <a class="el" href="a00286.html#ga8b263669ce0312e52b5ea42a57a56838" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBCMDROW()</a>, <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a>, <a class="el" href="a00286.html#ga48d71b32c26703c810191ef916c5448c" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBROWS()</a>, <a class="el" href="a00286.html#ga6fda3f4982dda5825d13fee392e89fd9" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBROWTYPE()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga6f13381522a1fa0b6ce2c15378088cdd"></a><!-- doxytag: member="dblib.c::dbmoretext" ref="ga6f13381522a1fa0b6ce2c15378088cdd" args="(DBPROCESS *dbproc, DBINT size, const BYTE text[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbmoretext </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">DBINT&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const BYTE&nbsp;</td>
          <td class="paramname"> <em>text</em>[]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send chunk of a text/image value to the server. </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>size</em>&nbsp;</td><td>count of bytes to send. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>textpointer, obtained from dbtxptr. </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>always. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga57e4098b153a030f0be02bcd98e08ba2" title="Get text pointer for a column in the current row.">dbtxptr()</a>, <a class="el" href="a00286.html#gac3f11142ec7ff25b1f8972af10fe9454" title="Get text timestamp for a column in the current row.">dbtxtimestamp()</a>, <a class="el" href="a00286.html#ga548153eb2eae76c48aa9d4b72258dc1c" title="Send text or image data to the server.">dbwritetext()</a>. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="a00306.html#_todo000016">Todo:</a></b></dt><dd>Check return value of called functions and return <code>FAIL</code> if appropriate. </dd></dl>

</div>
</div>
<a class="anchor" id="gadc8af9a65f3719804c2537fd737298ca"></a><!-- doxytag: member="dblib.c::dbmsghandle" ref="gadc8af9a65f3719804c2537fd737298ca" args="(MHANDLEFUNC handler)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MHANDLEFUNC dbmsghandle </td>
          <td>(</td>
          <td class="paramtype">MHANDLEFUNC&nbsp;</td>
          <td class="paramname"> <em>handler</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set a message handler, for messages from the server. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handler</em>&nbsp;</td><td>address of the function that will process the messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga2c7b5eec4843ea326b21f2db2ded2754" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBDEAD()</a>, <a class="el" href="a00286.html#gab8209543de865f359bdb32829fa8b757" title="Set an error handler, for messages from db-lib.">dberrhandle()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gab185982ffe0b85b8fd19747bd1f433fe"></a><!-- doxytag: member="dblib.c::dbname" ref="gab185982ffe0b85b8fd19747bd1f433fe" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* dbname </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 name of current database. </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>current database name, as null-terminated ASCII string. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga8cbc761b1266bd947783d843aeeec264" title="See if a command caused the current database to change.">dbchange()</a>, <a class="el" href="a00286.html#ga66ea891910f0a357cc78107d6ab7d962" title="Change current database.">dbuse()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gac67e6a022bb81195a120397ade07f5dd"></a><!-- doxytag: member="dblib.c::dbnextrow" ref="gac67e6a022bb81195a120397ade07f5dd" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbnextrow </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>Read result row into the row buffer and into any bound host variables. </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>REG_ROW</em>&nbsp;</td><td>regular row has been read. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>computeid when a compute row is read. </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>BUF_FULL</em>&nbsp;</td><td>reading next row would cause the buffer to be exceeded (and buffering is turned on). No row was read from the server </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gafefd17e15b22adda84366c817178dd7d" title="Bind a compute column to a program variable.">dbaltbind()</a>, <a class="el" href="a00286.html#ga873bc0f4663165e711655ade1dfae795" title="Tie a host variable to a resultset column.">dbbind()</a>, <a class="el" href="a00286.html#ga559e24ba70d0d96c3469eb6ab8f74e05" title="Cancel the query currently being retrieved, discarding all pending rows.">dbcanquery()</a>, <a class="el" href="a00286.html#ga01404b179a251c249aecfdae72ec6ca4" title="Clear n rows from the row buffer.">dbclrbuf()</a>, <a class="el" href="a00286.html#ga60fe544491c760f8bc6c37bc7f777d70" title="Read a row from the row buffer.">dbgetrow()</a>, <a class="el" href="a00286.html#gaa30be3414a97aac6139af2e928db91ca" title="Print a result set to stdout.">dbprrow()</a>, <a class="el" href="a00286.html#gadc3d134bbec45ef16d2619de1922767d" title="Make a buffered row &quot;current&quot; without fetching it into bound variables...">dbsetrow()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga85dcc40c3615f94be96b09b2ec043533"></a><!-- doxytag: member="dblib.c::dbnullbind" ref="ga85dcc40c3615f94be96b09b2ec043533" args="(DBPROCESS *dbproc, int column, DBINT *indicator)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbnullbind </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>column</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT *&nbsp;</td>
          <td class="paramname"> <em>indicator</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tie a null-indicator to a regular result column. </p>
<p>When a row is fetched, the indicator variable tells the state of the column's data.</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>column</em>&nbsp;</td><td>Nth column in the result set, starting with 1. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>indicator</em>&nbsp;</td><td>address of 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>variable accepted. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td><em>indicator</em> is NULL or <em>column</em> is out of range. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Contents of <em>indicator</em> are set with <code><a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a></code>. Possible values are:<ul>
<li>0 <em>column</em> bound successfully</li>
<li>-1 <em>column</em> is NULL.</li>
<li>&gt;0 true length of data, had <em>column</em> not been truncated due to insufficient space in the columns bound host variable . </li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga939c2a2e67b9992c787e2cec5b6cc1a7" title="Tie a null-indicator to a compute result column.">dbanullbind()</a>, <a class="el" href="a00286.html#ga873bc0f4663165e711655ade1dfae795" title="Tie a host variable to a resultset column.">dbbind()</a>, <a class="el" href="a00286.html#gaee60c306a22383805a4b9caa647a1e16" title="Get address of data in a regular result column.">dbdata()</a>, <a class="el" href="a00286.html#gae666d141533126babb0235af21bdca0f" title="Get size of current row&#39;s data in a regular result column.">dbdatlen()</a>, <a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga67934deac3bebbf8238eff8c0559389a"></a><!-- doxytag: member="dblib.c::dbnumalts" ref="ga67934deac3bebbf8238eff8c0559389a" args="(DBPROCESS *dbproc, int computeid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbnumalts </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>computeid</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 count of columns in a compute row. </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>computeid</em>&nbsp;</td><td>of <code>COMPUTE</code> clause to which we're referring. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of columns, else -1 if no such <em>computeid</em>. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gabcc14a1ca58b65bc46cce6c81c45218c" title="Get address of compute column data.">dbadata()</a>, <a class="el" href="a00286.html#ga3340e21db274b272ec11c037cb147222" title="Get size of data in a compute column.">dbadlen()</a>, <a class="el" href="a00286.html#ga9a35c8d3cd0e35c10555baf8f6a01e93" title="Get size of data in compute column.">dbaltlen()</a>, <a class="el" href="a00286.html#gaa85171e020dc606f2bd3395ad1d3ab4f" title="Get datatype for a compute column.">dbalttype()</a>, <a class="el" href="a00286.html#ga60fe544491c760f8bc6c37bc7f777d70" title="Read a row from the row buffer.">dbgetrow()</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#gadaa9482a082aa3fe52231e17749c2993" title="Return number of regular columns in a result set.">dbnumcols()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gadaa9482a082aa3fe52231e17749c2993"></a><!-- doxytag: member="dblib.c::dbnumcols" ref="gadaa9482a082aa3fe52231e17749c2993" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbnumcols </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>Return number of regular columns in a result set. </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="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga89fc5589b4bf41932324d2cfc6ad6433" title="Get size of a regular result column.">dbcollen()</a>, <a class="el" href="a00286.html#gad06f5deddac18604dfa858b2580e232f" title="Return name of a regular result column.">dbcolname()</a>, <a class="el" href="a00286.html#ga67934deac3bebbf8238eff8c0559389a" title="Get count of columns in a compute row.">dbnumalts()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gac554d2cb2da0c9f9fd3d4867998edcc4"></a><!-- doxytag: member="dblib.c::dbnumcompute" ref="gac554d2cb2da0c9f9fd3d4867998edcc4" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbnumcompute </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 <code>COMPUTE</code> clauses for a result set. </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>number of compute clauses for the current query, possibly zero. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga67934deac3bebbf8238eff8c0559389a" title="Get count of columns in a compute row.">dbnumalts()</a>, <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9dfc2ee533e5e48a7aa8ca22f8d9ed79"></a><!-- doxytag: member="dblib.c::dbprhead" ref="ga9dfc2ee533e5e48a7aa8ca22f8d9ed79" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbprhead </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>Print result set headings to stdout. </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="see"><dt><b>See also:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="gaa30be3414a97aac6139af2e928db91ca"></a><!-- doxytag: member="dblib.c::dbprrow" ref="gaa30be3414a97aac6139af2e928db91ca" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbprrow </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>Print a result set to stdout. </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="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga873bc0f4663165e711655ade1dfae795" title="Tie a host variable to a resultset column.">dbbind()</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#ga9dfc2ee533e5e48a7aa8ca22f8d9ed79" title="Print result set headings to stdout.">dbprhead()</a>, <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a>, <a class="el" href="a00286.html#gaf641c8e3d34607ca8b7ac2afed3e6d67" title="Print a regular result row to a buffer.">dbspr1row()</a>, <a class="el" href="a00286.html#gaaa4839a9c88e5b90f33bd2407fcbc43e" title="Print result set headings to a buffer.">dbsprhead()</a>, <a class="el" href="a00286.html#gacfaf9feb29c87cfb660886162f643152" title="Get formatted string for underlining dbsprhead() column names.">dbsprline()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gac25ae21ca19777ffab1c013bd6049ebf"></a><!-- doxytag: member="dblib.c::dbprtype" ref="gac25ae21ca19777ffab1c013bd6049ebf" args="(int token)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* dbprtype </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>token</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Print a token value's name to a buffer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>token</em>&nbsp;</td><td>server SYB* value, e.g. SYBINT.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>ASCII null-terminated string. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga947837a5c8fd99898c043435945b668c" title="Get aggregation operator for a compute column.">dbaltop()</a>, <a class="el" href="a00286.html#gaa85171e020dc606f2bd3395ad1d3ab4f" title="Get datatype for a compute column.">dbalttype()</a>, <a class="el" href="a00286.html#ga636e6f1b64743f3cf22158a56eef371f" title="Get the datatype of a regular result set column.">dbcoltype()</a>, <a class="el" href="a00287.html#gaa478c8b96923bca02d158d966172ec1b" title="Get datatype of a stored procedure&#39;s return parameter.">dbrettype()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gadd5685565c8c6c86079e17b8a73b324c"></a><!-- doxytag: member="dblib.c::dbreadtext" ref="gadd5685565c8c6c86079e17b8a73b324c" args="(DBPROCESS *dbproc, void *buf, DBINT bufsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">STATUS dbreadtext </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">void *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>bufsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fetch part of a text or image value from the server. </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>buf</em>&nbsp;</td><td><em>output:</em> buffer into which text will be placed. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bufsize</em>&nbsp;</td><td>size of <em>buf</em>, in bytes. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
<li><code>&gt;0</code> count of bytes placed in <em>buf</em>.</li>
<li><code>0</code> end of row.</li>
<li><code>-1</code> <em>error</em>, no result set ready for <em>dbproc</em>.</li>
<li><code>NO_MORE_ROWS</code> all rows read, no further data. </li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga6f13381522a1fa0b6ce2c15378088cdd" title="Send chunk of a text/image value to the server.">dbmoretext()</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#ga548153eb2eae76c48aa9d4b72258dc1c" title="Send text or image data to the server.">dbwritetext()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gabb14ad9f268b92a8d63fa506098b24dd"></a><!-- doxytag: member="dblib.c::dbrecftos" ref="gabb14ad9f268b92a8d63fa506098b24dd" args="(const char filename[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbrecftos </td>
          <td>(</td>
          <td class="paramtype">const char&nbsp;</td>
          <td class="paramname"> <em>filename</em>[]</td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Record to a file all SQL commands sent to the server. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>name of file to write to. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Files are named <em>filename.n</em>, where n is an integer, starting with 0, and incremented with each callto <a class="el" href="a00156.html#ae408d8e1c2ab0767d8bfd26d00d1ff6a" title="Normally not used.">dbopen()</a>. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00156.html#ae408d8e1c2ab0767d8bfd26d00d1ff6a" title="Normally not used.">dbopen()</a>, TDSDUMP environment variable(). </dd></dl>

</div>
</div>
<a class="anchor" id="ga4e26d949be2c3bf71b1a33c75b11d931"></a><!-- doxytag: member="dblib.c::dbresults" ref="ga4e26d949be2c3bf71b1a33c75b11d931" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbresults </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>Set up query results. </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>Some results are available. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>query was not processed successfully by the server </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>NO_MORE_RESULTS</em>&nbsp;</td><td>query produced no results.</td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Call <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a> after calling <a class="el" href="a00286.html#gaae889abeb145ec41f7361aa8f597fe46" title="send the SQL command to the server and wait for an answer.">dbsqlexec()</a> or <a class="el" href="a00286.html#gae1f50a6a2c31fda57cb481922b06841e" title="Wait for results of a query from the server.">dbsqlok()</a>, or <a class="el" href="a00287.html#gafa4dfd181be21e49c397f7daaa9cf96c" title="Execute the procedure and free associated memory.">dbrpcsend()</a> returns SUCCEED. Unless one of them fails, dbresults will return either SUCCEED or NO_MORE_RESULTS.</dd></dl>
<p>The meaning of <em>results</em> is very specific and not very intuitive. Results are created by either</p>
<ul>
<li>a SELECT statement</li>
<li>a stored procedure</li>
</ul>
<p>When dbresults returns SUCCEED, therefore, it indicates the server processed the query successfully and that one or more of these is present:</p>
<ul>
<li>metadata -- <a class="el" href="a00286.html#gadaa9482a082aa3fe52231e17749c2993" title="Return number of regular columns in a result set.">dbnumcols()</a> returns 1 or more</li>
<li>data -- <a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a> returns SUCCEED</li>
<li>return status -- <a class="el" href="a00287.html#ga7a5062dac92ccedc8459f6d4a530ffb7" title="Determine if query generated a return status number.">dbhasretstat()</a> returns TRUE</li>
<li>output parameters -- <a class="el" href="a00287.html#gaff09873008411a0573f6d1a9e6c7cf4b" title="Get count of output parameters filled by a stored procedure.">dbnumrets()</a> returns 1 or more</li>
</ul>
<p>If none of the above are present, <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a> returns NO_MORE_RESULTS.</p>
<p>SUCCEED does not imply that <a class="el" href="a00286.html#ga48d71b32c26703c810191ef916c5448c" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBROWS()</a> will return TRUE or even that <a class="el" href="a00286.html#gadaa9482a082aa3fe52231e17749c2993" title="Return number of regular columns in a result set.">dbnumcols()</a> will return nonzero. A general algorithm for reading results will call <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a> until it return NO_MORE_RESULTS (or FAIL). An application should check for all the above kinds of results within the <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a> loop.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gaae889abeb145ec41f7361aa8f597fe46" title="send the SQL command to the server and wait for an answer.">dbsqlexec()</a>, <a class="el" href="a00286.html#gae1f50a6a2c31fda57cb481922b06841e" title="Wait for results of a query from the server.">dbsqlok()</a>, <a class="el" href="a00287.html#gafa4dfd181be21e49c397f7daaa9cf96c" title="Execute the procedure and free associated memory.">dbrpcsend()</a>, <a class="el" href="a00286.html#ga5ea23272124fff03b8d87538c1ec3ee5" title="Cancel the current command batch.">dbcancel()</a>, <a class="el" href="a00286.html#ga48d71b32c26703c810191ef916c5448c" title="Sybase macro mapping to the Microsoft (lower-case) function.">DBROWS()</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#gadaa9482a082aa3fe52231e17749c2993" title="Return number of regular columns in a result set.">dbnumcols()</a>, <a class="el" href="a00287.html#ga7a5062dac92ccedc8459f6d4a530ffb7" title="Determine if query generated a return status number.">dbhasretstat()</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#gaff09873008411a0573f6d1a9e6c7cf4b" title="Get count of output parameters filled by a stored procedure.">dbnumrets()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gad0ccc03b94ba2515fd1f5d35559fcb41"></a><!-- doxytag: member="dblib.c::dbsafestr" ref="gad0ccc03b94ba2515fd1f5d35559fcb41" args="(DBPROCESS *dbproc, const char *src, DBINT srclen, char *dest, DBINT destlen, int quotetype)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsafestr </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>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>srclen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>destlen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>quotetype</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>safely quotes character values in SQL text. </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>src</em>&nbsp;</td><td>input string. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>srclen</em>&nbsp;</td><td>length of <em>src</em> in bytes, or -1 to indicate it's null-terminated. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td><em>output:</em> client-provided output buffer. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>destlen</em>&nbsp;</td><td>size of <em>dest</em> in bytes, or -1 to indicate it's "big enough" and the data should be null-terminated. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>quotetype</em>&nbsp;</td><td><ul>
<li><code>DBSINGLE</code> Doubles all single quotes (').</li>
<li><code>DBDOUBLE</code> Doubles all double quotes (").</li>
<li><code>DBBOTH</code> Doubles all single and double quotes. </li>
</ul>
</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>everything worked. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>no such <em>quotetype</em>, or insufficient room in <em>dest</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga87b39d9863316b4ba85654b0885d53a0" title="Append SQL to the command buffer.">dbcmd()</a>, <a class="el" href="a00286.html#ga43727b10d4cbb7708b374811abe6eadb" title="printf-like way to form SQL to send to the server.">dbfcmd()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga39302e8efbb476ba01cff109ffb3661e"></a><!-- doxytag: member="dblib.c::dbservcharset" ref="ga39302e8efbb476ba01cff109ffb3661e" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* dbservcharset </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 <code>syscharset</code> name of the server character set. </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>name of server's charset, as null-terminated ASCII string. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>dbcharsetconv(), dbgetcharset(), <a class="el" href="a00286.html#ga316c0fd24b8dc1259ce9eb4d25016400" title="Set the client character set in the login packet.">DBSETLCHARSET()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga663350909fec3a1d152316c45a65e708"></a><!-- doxytag: member="dblib.c::dbsetifile" ref="ga663350909fec3a1d152316c45a65e708" args="(char *filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbsetifile </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>filename</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set name and location of the <code>interfaces</code> file FreeTDS should use to look up a servername. </p>
<p>Does not affect lookups or location of <code>freetds.conf</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>name of <code>interfaces</code> </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00156.html#ae408d8e1c2ab0767d8bfd26d00d1ff6a" title="Normally not used.">dbopen()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga335fcbe476ad0f897e4e2ce377f0a8cc"></a><!-- doxytag: member="dblib.c::dbsetinterrupt" ref="ga335fcbe476ad0f897e4e2ce377f0a8cc" args="(DBPROCESS *dbproc, DB_DBCHKINTR_FUNC chkintr, DB_DBHNDLINTR_FUNC hndlintr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbsetinterrupt </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">DB_DBCHKINTR_FUNC&nbsp;</td>
          <td class="paramname"> <em>chkintr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DB_DBHNDLINTR_FUNC&nbsp;</td>
          <td class="paramname"> <em>hndlintr</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set interrupt handler for db-lib to use while blocked against a read from the server. </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>chkintr</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>hndlintr</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga5ea23272124fff03b8d87538c1ec3ee5" title="Cancel the current command batch.">dbcancel()</a>, <a class="el" href="a00286.html#gaa5714a91d7c14365fa1e5b164bb2b0b6" title="Get address of user-allocated data from a DBPROCESS.">dbgetuserdata()</a>, <a class="el" href="a00286.html#gabea9c70d02bf3e46bbb1d759915cb91e" title="Associate client-allocated (and defined) data with a DBPROCESS.">dbsetuserdata()</a>, dbsetbusy(), dbsetidle(). </dd></dl>

</div>
</div>
<a class="anchor" id="ga5f1281c07dde5a6d28e60ef62c501d1d"></a><!-- doxytag: member="dblib.c::dbsetlogintime" ref="ga5f1281c07dde5a6d28e60ef62c501d1d" args="(int seconds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsetlogintime </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>seconds</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set maximum seconds db-lib waits for a server response to a login attempt. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seconds</em>&nbsp;</td><td>New limit for application. </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>Always. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gab8209543de865f359bdb32829fa8b757" title="Set an error handler, for messages from db-lib.">dberrhandle()</a>, <a class="el" href="a00286.html#gada4b41f34542a87f0cd87e78e56d18bb" title="Set maximum seconds db-lib waits for a server response to query.">dbsettime()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaa22dce1ee0eb83059699c34c47d07c14"></a><!-- doxytag: member="dblib.c::dbsetlversion" ref="gaa22dce1ee0eb83059699c34c47d07c14" args="(LOGINREC *login, BYTE version)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsetlversion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00070.html">LOGINREC</a> *&nbsp;</td>
          <td class="paramname"> <em>login</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BYTE&nbsp;</td>
          <td class="paramname"> <em>version</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set TDS version for future connections. </p>

</div>
</div>
<a class="anchor" id="gaf2ca0e63f800b3839684c894ff651dd4"></a><!-- doxytag: member="dblib.c::dbsetmaxprocs" ref="gaf2ca0e63f800b3839684c894ff651dd4" args="(int maxprocs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsetmaxprocs </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>maxprocs</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set maximum simultaneous connections db-lib will open to the server. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>maxprocs</em>&nbsp;</td><td>Limit for process. </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>Always. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gadb34c5c2aae50ac9f2a26d8984136997" title="get maximum simultaneous connections db-lib will open to the server.">dbgetmaxprocs()</a>, <a class="el" href="a00156.html#ae408d8e1c2ab0767d8bfd26d00d1ff6a" title="Normally not used.">dbopen()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga399512ec78c15ce3db79ea88ef3b1293"></a><!-- doxytag: member="dblib.c::dbsetnull" ref="ga399512ec78c15ce3db79ea88ef3b1293" args="(DBPROCESS *dbproc, int bindtype, int bindlen, BYTE *bindval)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsetnull </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>bindtype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>bindlen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BYTE *&nbsp;</td>
          <td class="paramname"> <em>bindval</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Define substitution values to be used when binding null values. </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>bindtype</em>&nbsp;</td><td>type of binding to which the substitute value will apply. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bindlen</em>&nbsp;</td><td>size of the substitute value you are supplying, in bytes. Ignored except for CHARBIND and BINARYBIND. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bindval</em>&nbsp;</td><td>pointer to a buffer containing the substitute value. </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>query was processed without errors. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>query was not processed </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gafefd17e15b22adda84366c817178dd7d" title="Bind a compute column to a program variable.">dbaltbind()</a>, <a class="el" href="a00286.html#ga873bc0f4663165e711655ade1dfae795" title="Tie a host variable to a resultset column.">dbbind()</a>, <a class="el" href="a00286.html#ga32eb72f6fb3edb130e59fb3dd0766e7e" title="Convert one datatype to another.">dbconvert()</a>, <a class="el" href="a00286.html#ga85dcc40c3615f94be96b09b2ec043533" title="Tie a null-indicator to a regular result column.">dbnullbind()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9d660d278f3f58871b4086c0e175f4c6"></a><!-- doxytag: member="dblib.c::dbsetopt" ref="ga9d660d278f3f58871b4086c0e175f4c6" args="(DBPROCESS *dbproc, int option, const char *char_param, int int_param)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsetopt </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>option</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>char_param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>int_param</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set db-lib or server option. </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>option</em>&nbsp;</td><td>option to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>char_param</em>&nbsp;</td><td>value to set <em>option</em> to, if it wants a null-teminated ASCII string. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>int_param</em>&nbsp;</td><td>value to set <em>option</em> to, if it wants an integer value. </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>everything worked. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>no such <em>option</em>, or insufficient memory, or unimplemented. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Many are unimplemented. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga93ee3c8ca34a08588f88784898fd69e0" title="Reset an option.">dbclropt()</a>, <a class="el" href="a00286.html#gac3eb8cb53f50998403ea9aebc6263df9" title="Get value of an option.">dbisopt()</a>. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="a00306.html#_todo000012">Todo:</a></b></dt><dd>Implement more options. </dd></dl>

</div>
</div>
<a class="anchor" id="gadc3d134bbec45ef16d2619de1922767d"></a><!-- doxytag: member="dblib.c::dbsetrow" ref="gadc3d134bbec45ef16d2619de1922767d" args="(DBPROCESS *dbproc, DBINT row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsetrow </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">DBINT&nbsp;</td>
          <td class="paramname"> <em>row</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Make a buffered row "current" without fetching it into bound variables. </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>MORE_ROWS</em>&nbsp;</td><td>row found </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>NO_MORE_ROWS</em>&nbsp;</td><td>row not found </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td><em>dbproc</em> is dead or not enabled </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gafefd17e15b22adda84366c817178dd7d" title="Bind a compute column to a program variable.">dbaltbind()</a>, <a class="el" href="a00286.html#ga873bc0f4663165e711655ade1dfae795" title="Tie a host variable to a resultset column.">dbbind()</a>, <a class="el" href="a00286.html#ga559e24ba70d0d96c3469eb6ab8f74e05" title="Cancel the query currently being retrieved, discarding all pending rows.">dbcanquery()</a>, <a class="el" href="a00286.html#ga01404b179a251c249aecfdae72ec6ca4" title="Clear n rows from the row buffer.">dbclrbuf()</a>, <a class="el" href="a00286.html#ga60fe544491c760f8bc6c37bc7f777d70" title="Read a row from the row buffer.">dbgetrow()</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#gaa30be3414a97aac6139af2e928db91ca" title="Print a result set to stdout.">dbprrow()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gada4b41f34542a87f0cd87e78e56d18bb"></a><!-- doxytag: member="dblib.c::dbsettime" ref="gada4b41f34542a87f0cd87e78e56d18bb" args="(int seconds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsettime </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>seconds</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set maximum seconds db-lib waits for a server response to query. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seconds</em>&nbsp;</td><td>New limit for application. </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>Always. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gab8209543de865f359bdb32829fa8b757" title="Set an error handler, for messages from db-lib.">dberrhandle()</a>, DBGETTIME(), <a class="el" href="a00286.html#ga5f1281c07dde5a6d28e60ef62c501d1d" title="Set maximum seconds db-lib waits for a server response to a login attempt.">dbsetlogintime()</a>, <a class="el" href="a00286.html#gaae889abeb145ec41f7361aa8f597fe46" title="send the SQL command to the server and wait for an answer.">dbsqlexec()</a>, <a class="el" href="a00286.html#gae1f50a6a2c31fda57cb481922b06841e" title="Wait for results of a query from the server.">dbsqlok()</a>, <a class="el" href="a00286.html#gac980139b9cea03cf93e373d425991481" title="Transmit the command buffer to the server.">dbsqlsend()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gabea9c70d02bf3e46bbb1d759915cb91e"></a><!-- doxytag: member="dblib.c::dbsetuserdata" ref="gabea9c70d02bf3e46bbb1d759915cb91e" args="(DBPROCESS *dbproc, BYTE *ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dbsetuserdata </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">BYTE *&nbsp;</td>
          <td class="paramname"> <em>ptr</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Associate client-allocated (and defined) data with a <code>DBPROCESS</code>. </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>ptr</em>&nbsp;</td><td>address of client-defined data. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd><em>ptr</em> is the location of user data that <code>db-lib</code> will associate with <em>dbproc</em>. The client allocates the buffer addressed by <em>ptr</em>. <code>db-lib</code> never examines or uses the information; it just stashes the pointer for later retrieval by the application with <code><a class="el" href="a00286.html#gaa5714a91d7c14365fa1e5b164bb2b0b6" title="Get address of user-allocated data from a DBPROCESS.">dbgetuserdata()</a></code>. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gaa5714a91d7c14365fa1e5b164bb2b0b6" title="Get address of user-allocated data from a DBPROCESS.">dbgetuserdata()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gab9aa181fb3081ffb314340cbd71e434d"></a><!-- doxytag: member="dblib.c::dbsetversion" ref="gab9aa181fb3081ffb314340cbd71e434d" args="(DBINT version)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsetversion </td>
          <td>(</td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>version</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Specify a db-lib version level. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>version</em>&nbsp;</td><td>anything, really. </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>Always. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>No effect on behavior of <code>db-lib</code> in <code>FreeTDS</code>. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="ga223a6d333f95e726b0b42ec19a076731"></a><!-- doxytag: member="dblib.c::dbspid" ref="ga223a6d333f95e726b0b42ec19a076731" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbspid </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 server process ID for a <code>DBPROCESS</code>. </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><em>"spid"</em>, the server's process ID. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00156.html#ae408d8e1c2ab0767d8bfd26d00d1ff6a" title="Normally not used.">dbopen()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gaf641c8e3d34607ca8b7ac2afed3e6d67"></a><!-- doxytag: member="dblib.c::dbspr1row" ref="gaf641c8e3d34607ca8b7ac2afed3e6d67" args="(DBPROCESS *dbproc, char *buffer, DBINT buf_len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbspr1row </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">char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>buf_len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Print a regular result row to a buffer. </p>
<p>Fills a buffer with one data row, represented as a null-terminated ASCII string. Helpful for debugging. </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>buffer</em>&nbsp;</td><td><em>output:</em> Address of a buffer to hold ASCII null-terminated string. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf_len</em>&nbsp;</td><td>size of <em>buffer</em>, in bytes. </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>on success. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>trouble encountered. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga93ee3c8ca34a08588f88784898fd69e0" title="Reset an option.">dbclropt()</a>, <a class="el" href="a00286.html#gac3eb8cb53f50998403ea9aebc6263df9" title="Get value of an option.">dbisopt()</a>, <a class="el" href="a00286.html#ga9dfc2ee533e5e48a7aa8ca22f8d9ed79" title="Print result set headings to stdout.">dbprhead()</a>, <a class="el" href="a00286.html#gaa30be3414a97aac6139af2e928db91ca" title="Print a result set to stdout.">dbprrow()</a>, <a class="el" href="a00286.html#ga308918c13a5b1644269c1654fbea96ac" title="Determine size buffer required to hold the results returned by dbsprhead(), dbsprline()...">dbspr1rowlen()</a>, <a class="el" href="a00286.html#gaaa4839a9c88e5b90f33bd2407fcbc43e" title="Print result set headings to a buffer.">dbsprhead()</a>, <a class="el" href="a00286.html#gacfaf9feb29c87cfb660886162f643152" title="Get formatted string for underlining dbsprhead() column names.">dbsprline()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga308918c13a5b1644269c1654fbea96ac"></a><!-- doxytag: member="dblib.c::dbspr1rowlen" ref="ga308918c13a5b1644269c1654fbea96ac" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBINT dbspr1rowlen </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 size buffer required to hold the results returned by <a class="el" href="a00286.html#gaaa4839a9c88e5b90f33bd2407fcbc43e" title="Print result set headings to a buffer.">dbsprhead()</a>, <a class="el" href="a00286.html#gacfaf9feb29c87cfb660886162f643152" title="Get formatted string for underlining dbsprhead() column names.">dbsprline()</a>, and <a class="el" href="a00286.html#gaf641c8e3d34607ca8b7ac2afed3e6d67" title="Print a regular result row to a buffer.">dbspr1row()</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>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of buffer requirement, in bytes. </dd></dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>An esoteric function. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga9dfc2ee533e5e48a7aa8ca22f8d9ed79" title="Print result set headings to stdout.">dbprhead()</a>, <a class="el" href="a00286.html#gaa30be3414a97aac6139af2e928db91ca" title="Print a result set to stdout.">dbprrow()</a>, <a class="el" href="a00286.html#gaf641c8e3d34607ca8b7ac2afed3e6d67" title="Print a regular result row to a buffer.">dbspr1row()</a>, <a class="el" href="a00286.html#gaaa4839a9c88e5b90f33bd2407fcbc43e" title="Print result set headings to a buffer.">dbsprhead()</a>, <a class="el" href="a00286.html#gacfaf9feb29c87cfb660886162f643152" title="Get formatted string for underlining dbsprhead() column names.">dbsprline()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gaaa4839a9c88e5b90f33bd2407fcbc43e"></a><!-- doxytag: member="dblib.c::dbsprhead" ref="gaaa4839a9c88e5b90f33bd2407fcbc43e" args="(DBPROCESS *dbproc, char *buffer, DBINT buf_len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsprhead </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">char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>buf_len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Print result set headings to a buffer. </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>buffer</em>&nbsp;</td><td>output buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf_len</em>&nbsp;</td><td>size of <em>buffer</em> </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><em>buffer</em> filled. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>insufficient spaace in <em>buffer</em>, usually. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga9dfc2ee533e5e48a7aa8ca22f8d9ed79" title="Print result set headings to stdout.">dbprhead()</a>, <a class="el" href="a00286.html#gaa30be3414a97aac6139af2e928db91ca" title="Print a result set to stdout.">dbprrow()</a>, <a class="el" href="a00286.html#ga9d660d278f3f58871b4086c0e175f4c6" title="Set db-lib or server option.">dbsetopt()</a>, <a class="el" href="a00286.html#gaf641c8e3d34607ca8b7ac2afed3e6d67" title="Print a regular result row to a buffer.">dbspr1row()</a>, <a class="el" href="a00286.html#ga308918c13a5b1644269c1654fbea96ac" title="Determine size buffer required to hold the results returned by dbsprhead(), dbsprline()...">dbspr1rowlen()</a>, <a class="el" href="a00286.html#gacfaf9feb29c87cfb660886162f643152" title="Get formatted string for underlining dbsprhead() column names.">dbsprline()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gacfaf9feb29c87cfb660886162f643152"></a><!-- doxytag: member="dblib.c::dbsprline" ref="gacfaf9feb29c87cfb660886162f643152" args="(DBPROCESS *dbproc, char *buffer, DBINT buf_len, DBCHAR line_char)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsprline </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">char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>buf_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBCHAR&nbsp;</td>
          <td class="paramname"> <em>line_char</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 formatted string for underlining <a class="el" href="a00286.html#gaaa4839a9c88e5b90f33bd2407fcbc43e" title="Print result set headings to a buffer.">dbsprhead()</a> column names. </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>buffer</em>&nbsp;</td><td>output buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf_len</em>&nbsp;</td><td>size of <em>buffer</em> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>line_char</em>&nbsp;</td><td>character to use to represent underlining. </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><em>buffer</em> filled. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>insufficient space in <em>buffer</em>, usually. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga9dfc2ee533e5e48a7aa8ca22f8d9ed79" title="Print result set headings to stdout.">dbprhead()</a>, <a class="el" href="a00286.html#gaa30be3414a97aac6139af2e928db91ca" title="Print a result set to stdout.">dbprrow()</a>, <a class="el" href="a00286.html#gaf641c8e3d34607ca8b7ac2afed3e6d67" title="Print a regular result row to a buffer.">dbspr1row()</a>, <a class="el" href="a00286.html#ga308918c13a5b1644269c1654fbea96ac" title="Determine size buffer required to hold the results returned by dbsprhead(), dbsprline()...">dbspr1rowlen()</a>, <a class="el" href="a00286.html#gaaa4839a9c88e5b90f33bd2407fcbc43e" title="Print result set headings to a buffer.">dbsprhead()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gaae889abeb145ec41f7361aa8f597fe46"></a><!-- doxytag: member="dblib.c::dbsqlexec" ref="gaae889abeb145ec41f7361aa8f597fe46" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsqlexec </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>send the SQL command to the server and wait for an answer. </p>
<p>Please be patient. This function waits for the server to respond. <code>dbsqlexec</code> is equivalent to <a class="el" href="a00286.html#gac980139b9cea03cf93e373d425991481" title="Transmit the command buffer to the server.">dbsqlsend()</a> followed by <a class="el" href="a00286.html#gae1f50a6a2c31fda57cb481922b06841e" title="Wait for results of a query from the server.">dbsqlok()</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>
  </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>query was processed without errors. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>was returned by <a class="el" href="a00286.html#gac980139b9cea03cf93e373d425991481" title="Transmit the command buffer to the server.">dbsqlsend()</a> or <a class="el" href="a00286.html#gae1f50a6a2c31fda57cb481922b06841e" title="Wait for results of a query from the server.">dbsqlok()</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga87b39d9863316b4ba85654b0885d53a0" title="Append SQL to the command buffer.">dbcmd()</a>, <a class="el" href="a00286.html#ga43727b10d4cbb7708b374811abe6eadb" title="printf-like way to form SQL to send to the server.">dbfcmd()</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#ga2306039d73fbc7045f257b0e750c37b4" title="Fetch status value returned by query or remote procedure call.">dbretstatus()</a>, <a class="el" href="a00286.html#gada4b41f34542a87f0cd87e78e56d18bb" title="Set maximum seconds db-lib waits for a server response to query.">dbsettime()</a>, <a class="el" href="a00286.html#gae1f50a6a2c31fda57cb481922b06841e" title="Wait for results of a query from the server.">dbsqlok()</a>, <a class="el" href="a00286.html#gac980139b9cea03cf93e373d425991481" title="Transmit the command buffer to the server.">dbsqlsend()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gae1f50a6a2c31fda57cb481922b06841e"></a><!-- doxytag: member="dblib.c::dbsqlok" ref="gae1f50a6a2c31fda57cb481922b06841e" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsqlok </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>Wait for results of a query from the server. </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>everything worked, fetch results with <code>dbnextresults()</code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>SQL syntax error, typically. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga87b39d9863316b4ba85654b0885d53a0" title="Append SQL to the command buffer.">dbcmd()</a>, <a class="el" href="a00286.html#ga43727b10d4cbb7708b374811abe6eadb" title="printf-like way to form SQL to send to the server.">dbfcmd()</a>, <a class="el" href="a00286.html#ga74ac942f9b7baa49e1d7d18628321297" title="Sybase macro, maps to the internal (lower-case) function.">DBIORDESC()</a>, <a class="el" href="a00286.html#ga5afb13924cda059d30be36a70dcf2cd9" title="Sybase macro, maps to the internal (lower-case) function.">DBIOWDESC()</a>, <a class="el" href="a00286.html#ga6f13381522a1fa0b6ce2c15378088cdd" title="Send chunk of a text/image value to the server.">dbmoretext()</a>, <a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a>, dbpoll(), DBRBUF(), <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</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#gafa4dfd181be21e49c397f7daaa9cf96c" title="Execute the procedure and free associated memory.">dbrpcsend()</a>, <a class="el" href="a00286.html#gada4b41f34542a87f0cd87e78e56d18bb" title="Set maximum seconds db-lib waits for a server response to query.">dbsettime()</a>, <a class="el" href="a00286.html#gaae889abeb145ec41f7361aa8f597fe46" title="send the SQL command to the server and wait for an answer.">dbsqlexec()</a>, <a class="el" href="a00286.html#gac980139b9cea03cf93e373d425991481" title="Transmit the command buffer to the server.">dbsqlsend()</a>, <a class="el" href="a00286.html#ga548153eb2eae76c48aa9d4b72258dc1c" title="Send text or image data to the server.">dbwritetext()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gac980139b9cea03cf93e373d425991481"></a><!-- doxytag: member="dblib.c::dbsqlsend" ref="gac980139b9cea03cf93e373d425991481" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbsqlsend </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>Transmit the command buffer to the server. </p>
<p><em>Non-blocking</em>, does not wait for a response.</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>SQL sent. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>protocol problem, unless <a class="el" href="a00286.html#gac980139b9cea03cf93e373d425991481" title="Transmit the command buffer to the server.">dbsqlsend()</a> when it's not supposed to be (in which case a db-lib error message will be emitted). </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga87b39d9863316b4ba85654b0885d53a0" title="Append SQL to the command buffer.">dbcmd()</a>, <a class="el" href="a00286.html#ga43727b10d4cbb7708b374811abe6eadb" title="printf-like way to form SQL to send to the server.">dbfcmd()</a>, <a class="el" href="a00286.html#ga74ac942f9b7baa49e1d7d18628321297" title="Sybase macro, maps to the internal (lower-case) function.">DBIORDESC()</a>, <a class="el" href="a00286.html#ga5afb13924cda059d30be36a70dcf2cd9" title="Sybase macro, maps to the internal (lower-case) function.">DBIOWDESC()</a>, <a class="el" href="a00286.html#gac67e6a022bb81195a120397ade07f5dd" title="Read result row into the row buffer and into any bound host variables.">dbnextrow()</a>, dbpoll(), <a class="el" href="a00286.html#ga4e26d949be2c3bf71b1a33c75b11d931" title="Set up query results.">dbresults()</a>, <a class="el" href="a00286.html#gada4b41f34542a87f0cd87e78e56d18bb" title="Set maximum seconds db-lib waits for a server response to query.">dbsettime()</a>, <a class="el" href="a00286.html#gaae889abeb145ec41f7361aa8f597fe46" title="send the SQL command to the server and wait for an answer.">dbsqlexec()</a>, <a class="el" href="a00286.html#gae1f50a6a2c31fda57cb481922b06841e" title="Wait for results of a query from the server.">dbsqlok()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga5f24dbd49976e155098a1ff9f3ec3641"></a><!-- doxytag: member="dblib.c::dbstrbuild" ref="ga5f24dbd49976e155098a1ff9f3ec3641" args="(DBPROCESS *dbproc, char *charbuf, int bufsize, char *text, char *formats,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbstrbuild </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">char *&nbsp;</td>
          <td class="paramname"> <em>charbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>text</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>formats</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Build a printable string from text containing placeholders for variables. </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>charbuf</em>&nbsp;</td><td><em>output:</em> buffer that will contain the ASCII null-terminated string built by <code><a class="el" href="a00286.html#ga5f24dbd49976e155098a1ff9f3ec3641" title="Build a printable string from text containing placeholders for variables.">dbstrbuild()</a></code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bufsize</em>&nbsp;</td><td>size of <em>charbuf</em>, in bytes. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>null-terminated ASCII string, with <em>placeholders</em> for variables. <em>A</em> Placeholder is a three-byte string, made up of:</p>
<ul>
<li>'' a percent sign</li>
<li>0-9 an integer (designates the argument number to use, starting with 1.)</li>
<li>'!' an exclamation point </li>
</ul>
</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>formats</em>&nbsp;</td><td>null-terminated ASCII sprintf-style string. Has one format specifier for each placeholder in <em>text</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Following <em>formats</em> are the arguments, the values to substitute for the placeholders. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga32eb72f6fb3edb130e59fb3dd0766e7e" title="Convert one datatype to another.">dbconvert()</a>, dbdatename(), dbdatepart(). </dd></dl>

</div>
</div>
<a class="anchor" id="gaf130b12e9e58b1bfd4a6685e33f5b3cd"></a><!-- doxytag: member="dblib.c::dbstrcpy" ref="gaf130b12e9e58b1bfd4a6685e33f5b3cd" args="(DBPROCESS *dbproc, int start, int numbytes, char *dest)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbstrcpy </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>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>numbytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>dest</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 a copy of a chunk of the command buffer. </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>start</em>&nbsp;</td><td>position in the command buffer to start copying from, starting from <em>0</em>. If start is past the end of the command buffer, <a class="el" href="a00286.html#gaf130b12e9e58b1bfd4a6685e33f5b3cd" title="Get a copy of a chunk of the command buffer.">dbstrcpy()</a> inserts a null terminator at dest[0]. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>numbytes</em>&nbsp;</td><td>number of bytes to copy.</p>
<ul>
<li>If -1, <a class="el" href="a00286.html#gaf130b12e9e58b1bfd4a6685e33f5b3cd" title="Get a copy of a chunk of the command buffer.">dbstrcpy()</a> copies the whole command buffer.</li>
<li>If 0 <a class="el" href="a00286.html#gaf130b12e9e58b1bfd4a6685e33f5b3cd" title="Get a copy of a chunk of the command buffer.">dbstrcpy()</a> writes a <code>NULL</code> to dest[0].</li>
<li>If the command buffer contains fewer than <em>numbytes</em> (taking <em>start</em> into account) <a class="el" href="a00286.html#gaf130b12e9e58b1bfd4a6685e33f5b3cd" title="Get a copy of a chunk of the command buffer.">dbstrcpy()</a> copies the rest of it. </li>
</ul>
</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td><em>output:</em> the buffer to write to. Make sure it's big enough. </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>the inputs were valid and <em>dest</em> was affected. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td><em>start</em> &lt; 0 or <em>numbytes</em> &lt; -1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga87b39d9863316b4ba85654b0885d53a0" title="Append SQL to the command buffer.">dbcmd()</a>, <a class="el" href="a00286.html#ga43727b10d4cbb7708b374811abe6eadb" title="printf-like way to form SQL to send to the server.">dbfcmd()</a>, <a class="el" href="a00286.html#ga0fcfcf6846442dac9dd5584d270ec72a" title="Erase the command buffer, in case DBNOAUTOFREE was set with dbsetopt().">dbfreebuf()</a>, <a class="el" href="a00286.html#gaf917cf746c954a5d1b718afe3c4d1940" title="Get address of a position in the command buffer.">dbgetchar()</a>, <a class="el" href="a00286.html#ga13caa07ec45cd6f64e9197d29e3cfe5e" title="Get size of the command buffer, in bytes.">dbstrlen()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga13caa07ec45cd6f64e9197d29e3cfe5e"></a><!-- doxytag: member="dblib.c::dbstrlen" ref="ga13caa07ec45cd6f64e9197d29e3cfe5e" args="(DBPROCESS *dbproc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dbstrlen </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 size of the command buffer, in bytes. </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="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga87b39d9863316b4ba85654b0885d53a0" title="Append SQL to the command buffer.">dbcmd()</a>, <a class="el" href="a00286.html#ga43727b10d4cbb7708b374811abe6eadb" title="printf-like way to form SQL to send to the server.">dbfcmd()</a>, <a class="el" href="a00286.html#ga0fcfcf6846442dac9dd5584d270ec72a" title="Erase the command buffer, in case DBNOAUTOFREE was set with dbsetopt().">dbfreebuf()</a>, <a class="el" href="a00286.html#gaf917cf746c954a5d1b718afe3c4d1940" title="Get address of a position in the command buffer.">dbgetchar()</a>, <a class="el" href="a00286.html#gaf130b12e9e58b1bfd4a6685e33f5b3cd" title="Get a copy of a chunk of the command buffer.">dbstrcpy()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9804fc70ae6ed35c92cd75d410dad570"></a><!-- doxytag: member="dblib.c::dbtablecolinfo" ref="ga9804fc70ae6ed35c92cd75d410dad570" args="(DBPROCESS *dbproc, DBINT column, DBCOL *pdbcol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbtablecolinfo </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">DBINT&nbsp;</td>
          <td class="paramname"> <em>column</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00054.html">DBCOL</a> *&nbsp;</td>
          <td class="paramname"> <em>pdbcol</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>describe table column attributes with a single call (Freetds-only API function modelled on dbcolinfo) </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>column</em>&nbsp;</td><td>Nth in the result set, starting from 1. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdbcol</em>&nbsp;</td><td>address of structure to be populated by this function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>SUCCEED or FAIL. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00192.html#a9b73fd1afa2c3ccfca481635212d2e43" title="Get a bunch of column attributes with a single call (Microsoft-compatibility feature)...">dbcolinfo()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga57e4098b153a030f0be02bcd98e08ba2"></a><!-- doxytag: member="dblib.c::dbtxptr" ref="ga57e4098b153a030f0be02bcd98e08ba2" args="(DBPROCESS *dbproc, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBBINARY* dbtxptr </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>column</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 text pointer for a column in the current row. </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>column</em>&nbsp;</td><td>number of the column in the <code>SELECT</code> statement, starting at 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>text pointer for <em>column</em>, may be NULL. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gac3f11142ec7ff25b1f8972af10fe9454" title="Get text timestamp for a column in the current row.">dbtxtimestamp()</a>, <a class="el" href="a00286.html#ga548153eb2eae76c48aa9d4b72258dc1c" title="Send text or image data to the server.">dbwritetext()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gac3f11142ec7ff25b1f8972af10fe9454"></a><!-- doxytag: member="dblib.c::dbtxtimestamp" ref="gac3f11142ec7ff25b1f8972af10fe9454" args="(DBPROCESS *dbproc, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBBINARY* dbtxtimestamp </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>column</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 text timestamp for a column in the current row. </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>column</em>&nbsp;</td><td>number of the column in the <code>SELECT</code> statement, starting at 1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timestamp for <em>column</em>, may be NULL. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga57e4098b153a030f0be02bcd98e08ba2" title="Get text pointer for a column in the current row.">dbtxptr()</a>, <a class="el" href="a00286.html#ga548153eb2eae76c48aa9d4b72258dc1c" title="Send text or image data to the server.">dbwritetext()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga66ea891910f0a357cc78107d6ab7d962"></a><!-- doxytag: member="dblib.c::dbuse" ref="ga66ea891910f0a357cc78107d6ab7d962" args="(DBPROCESS *dbproc, const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbuse </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>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Change current database. </p>
<p>Analagous to the unix command <code>cd</code>, <a class="el" href="a00286.html#ga66ea891910f0a357cc78107d6ab7d962" title="Change current database.">dbuse()</a> makes <em>name</em> the default database. Waits for an answer from the server. </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>name</em>&nbsp;</td><td>database to use. </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>query was processed without errors. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>query was not processed </td></tr>
  </table>
  </dd>
</dl>
<dl class="todo"><dt><b><a class="el" href="a00306.html#_todo000006">Todo:</a></b></dt><dd><em>name</em> should be quoted. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga8cbc761b1266bd947783d843aeeec264" title="See if a command caused the current database to change.">dbchange()</a>, <a class="el" href="a00286.html#gab185982ffe0b85b8fd19747bd1f433fe" title="Get name of current database.">dbname()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga57c856964a9a0b4cc43f5192647c51e7"></a><!-- doxytag: member="dblib.c::dbvarylen" ref="ga57c856964a9a0b4cc43f5192647c51e7" args="(DBPROCESS *dbproc, int column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBINT dbvarylen </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>column</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determine whether a column can vary in size. </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>column</em>&nbsp;</td><td>Nth in the result set, starting from 1. </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>datatype of column can vary in size, or is nullable. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FALSE</em>&nbsp;</td><td>datatype of column is fixed and is not nullable. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga89fc5589b4bf41932324d2cfc6ad6433" title="Get size of a regular result column.">dbcollen()</a>, <a class="el" href="a00286.html#gad06f5deddac18604dfa858b2580e232f" title="Return name of a regular result column.">dbcolname()</a>, <a class="el" href="a00286.html#ga636e6f1b64743f3cf22158a56eef371f" title="Get the datatype of a regular result set column.">dbcoltype()</a>, <a class="el" href="a00286.html#gaee60c306a22383805a4b9caa647a1e16" title="Get address of data in a regular result column.">dbdata()</a>, <a class="el" href="a00286.html#gae666d141533126babb0235af21bdca0f" title="Get size of current row&#39;s data in a regular result column.">dbdatlen()</a>, <a class="el" href="a00286.html#gadaa9482a082aa3fe52231e17749c2993" title="Return number of regular columns in a result set.">dbnumcols()</a>, <a class="el" href="a00286.html#gac25ae21ca19777ffab1c013bd6049ebf" title="Print a token value&#39;s name to a buffer.">dbprtype()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ga666726c86108342b1c1f27eecf68e13c"></a><!-- doxytag: member="dblib.c::dbversion" ref="ga666726c86108342b1c1f27eecf68e13c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* dbversion </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>See which version of db-lib is in use. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>null-terminated ASCII string representing the version of db-lib. </dd></dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>FreeTDS returns the CVS version string of <a class="el" href="a00192.html" title="Main implementation file for db-lib.">dblib.c</a>. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="gaaf8349999c16b3c36caf5947747a2915"></a><!-- doxytag: member="dblib.c::dbwillconvert" ref="gaaf8349999c16b3c36caf5947747a2915" args="(int srctype, int desttype)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DBBOOL dbwillconvert </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>srctype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>desttype</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Test whether or not a datatype can be converted to another datatype. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>srctype</em>&nbsp;</td><td>type converting from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>desttype</em>&nbsp;</td><td>type converting to </td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd><a class="el" href="a00286.html#gaaf8349999c16b3c36caf5947747a2915" title="Test whether or not a datatype can be converted to another datatype.">dbwillconvert()</a> lies sometimes. Some datatypes <em>should</em> be convertible but aren't yet in our implementation. Legal unimplemented conversions return <em>TRUE</em>. </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>convertible, or should be. For conversions from a fix-length type to a character type (e.g. INT to VARCHAR), the value returned is the number of bytes needed hold the output. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>not convertible. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#gafefd17e15b22adda84366c817178dd7d" title="Bind a compute column to a program variable.">dbaltbind()</a>, <a class="el" href="a00286.html#ga873bc0f4663165e711655ade1dfae795" title="Tie a host variable to a resultset column.">dbbind()</a>, <a class="el" href="a00286.html#ga32eb72f6fb3edb130e59fb3dd0766e7e" title="Convert one datatype to another.">dbconvert()</a>, <a class="el" href="a00286.html#ga0320e4332d3107a6d5c5e949fcf8cac8" title="cf.">dbconvert_ps()</a>, <code>src/dblib/unittests/convert</code>().c(). </dd></dl>

</div>
</div>
<a class="anchor" id="ga548153eb2eae76c48aa9d4b72258dc1c"></a><!-- doxytag: member="dblib.c::dbwritetext" ref="ga548153eb2eae76c48aa9d4b72258dc1c" args="(DBPROCESS *dbproc, char *objname, DBBINARY *textptr, DBTINYINT textptrlen, DBBINARY *timestamp, DBBOOL log, DBINT size, BYTE *text)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RETCODE dbwritetext </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">char *&nbsp;</td>
          <td class="paramname"> <em>objname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBBINARY *&nbsp;</td>
          <td class="paramname"> <em>textptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBTINYINT&nbsp;</td>
          <td class="paramname"> <em>textptrlen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBBINARY *&nbsp;</td>
          <td class="paramname"> <em>timestamp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBBOOL&nbsp;</td>
          <td class="paramname"> <em>log</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DBINT&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BYTE *&nbsp;</td>
          <td class="paramname"> <em>text</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send text or image data to the server. </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>objname</em>&nbsp;</td><td>table name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>textptr</em>&nbsp;</td><td>text pointer to be modified, obtained from <a class="el" href="a00286.html#ga57e4098b153a030f0be02bcd98e08ba2" title="Get text pointer for a column in the current row.">dbtxptr()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>textptrlen</em>&nbsp;</td><td><em>Ignored</em>. Supposed to be <code>DBTXPLEN</code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>text timestamp to be modified, obtained from <a class="el" href="a00286.html#gac3f11142ec7ff25b1f8972af10fe9454" title="Get text timestamp for a column in the current row.">dbtxtimestamp()</a> or dbtxtsnewval(), may be <code>NULL</code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>log</em>&nbsp;</td><td><code>TRUE</code> if the operation is to be recorded in the transaction log. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>overall size of the data (in total, not just for this call), in bytes. A guideline, must not overstate the case. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>the chunk of data to write. </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>everything worked. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FAIL</em>&nbsp;</td><td>not sent, possibly because <em>timestamp</em> is invalid or was changed in the database since it was fetched. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00286.html#ga6f13381522a1fa0b6ce2c15378088cdd" title="Send chunk of a text/image value to the server.">dbmoretext()</a>, <a class="el" href="a00286.html#ga57e4098b153a030f0be02bcd98e08ba2" title="Get text pointer for a column in the current row.">dbtxptr()</a>, <a class="el" href="a00286.html#gac3f11142ec7ff25b1f8972af10fe9454" title="Get text timestamp for a column in the current row.">dbtxtimestamp()</a>, <a class="el" href="a00286.html#ga548153eb2eae76c48aa9d4b72258dc1c" title="Send text or image data to the server.">dbwritetext()</a>, dbtxtsput(). </dd></dl>

</div>
</div>
<a class="anchor" id="gabf3d9f8d5fe5089e1f34594843486b75"></a><!-- doxytag: member="dblib.c::TDS_RCSID" ref="gabf3d9f8d5fe5089e1f34594843486b75" args="(var,&quot;$Id: dblib.c,v 1.378.2.4 2011/06/07 08:52:29 freddy77 Exp $&quot;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TDS_RCSID </td>
          <td>(</td>
          <td class="paramtype">var&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;$Id: dblib.&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">v 1.378.2.4 2011/06/07 08:52:29 freddy77 Exp $&quot;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Either SYBDBLIB or MSDBLIB (not both) must be defined. This affects how certain application-addressable strucures are defined. </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>