<!-- 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: ODBC utility</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 Page</span></a></li> <li><a href="pages.html"><span>Related 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>ODBC utility<br/> <small> [<a class="el" href="a00294.html">ODBC API</a>]</small> </h1> <p>Functions called within <code>ODBC</code> driver. <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"><a class="anchor" id="ga9ebc5d499cace793f1e05df6c7c9ba44"></a><!-- doxytag: member="odbc_util::C_TYPES" ref="ga9ebc5d499cace793f1e05df6c7c9ba44" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>C_TYPES</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><b>SQL_TYPES</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae4ebaead62811e56dd56c48af869c714"></a><!-- doxytag: member="odbc_util::TYPE_NORMAL_SQL_C_GUID" ref="gae4ebaead62811e56dd56c48af869c714" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>TYPE_NORMAL_SQL_C_GUID</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9d49c06d0280d4fdc00e3617b5dffffd"></a><!-- doxytag: member="odbc_util::TYPE_NORMAL_SQL_GUID" ref="ga9d49c06d0280d4fdc00e3617b5dffffd" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>TYPE_NORMAL_SQL_GUID</b></td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00295.html#gafc3593e71189aa4f32a6f6f42dc7cfd7">odbc_c_to_server_type</a> (int c_type)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Pass this an SQL_C_* type and get a SYB* type which most closely corresponds to the SQL_C_* type. <a href="#gafc3593e71189aa4f32a6f6f42dc7cfd7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa11c942c0504adeede625f31c495ef77"></a><!-- doxytag: member="odbc_util::odbc_convert_err_set" ref="gaa11c942c0504adeede625f31c495ef77" args="(struct _sql_errors *errs, TDS_INT err)" --> void </td><td class="memItemRight" valign="bottom"><b>odbc_convert_err_set</b> (struct <a class="el" href="a00044.html">_sql_errors</a> *errs, TDS_INT err)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac3ab8bde714839982280538759b36c63"></a><!-- doxytag: member="odbc_util::odbc_dstr_copy" ref="gac3ab8bde714839982280538759b36c63" args="(TDS_DBC *dbc, DSTR *s, int size, ODBC_CHAR *str)" --> <a class="el" href="a00100.html">DSTR</a> * </td><td class="memItemRight" valign="bottom"><b>odbc_dstr_copy</b> (<a class="el" href="a00034.html">TDS_DBC</a> *dbc, <a class="el" href="a00100.html">DSTR</a> *s, int size, ODBC_CHAR *str)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafd5cb20e55dcb29b31e62fa6857061e8"></a><!-- doxytag: member="odbc_util::odbc_get_concise_c_type" ref="gafd5cb20e55dcb29b31e62fa6857061e8" args="(SQLSMALLINT type, SQLSMALLINT interval)" --> SQLSMALLINT </td><td class="memItemRight" valign="bottom"><b>odbc_get_concise_c_type</b> (SQLSMALLINT type, SQLSMALLINT interval)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga61bc1eed77426257cba30539c0bbd192"></a><!-- doxytag: member="odbc_util::odbc_get_concise_sql_type" ref="ga61bc1eed77426257cba30539c0bbd192" args="(SQLSMALLINT type, SQLSMALLINT interval)" --> SQLSMALLINT </td><td class="memItemRight" valign="bottom"><b>odbc_get_concise_sql_type</b> (SQLSMALLINT type, SQLSMALLINT interval)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab8d14abc5db4efed19212789f1709ecb"></a><!-- doxytag: member="odbc_util::odbc_get_octet_len" ref="gab8d14abc5db4efed19212789f1709ecb" args="(int c_type, const struct _drecord *drec)" --> SQLLEN </td><td class="memItemRight" valign="bottom"><b>odbc_get_octet_len</b> (int c_type, const struct <a class="el" href="a00031.html">_drecord</a> *drec)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga35028e8de1d50dc51ccef1d645c55e2a"></a><!-- doxytag: member="odbc_util::odbc_get_param_len" ref="ga35028e8de1d50dc51ccef1d645c55e2a" args="(const struct _drecord *drec_axd, const struct _drecord *drec_ixd, const TDS_DESC *axd, unsigned int n_row)" --> SQLINTEGER </td><td class="memItemRight" valign="bottom"><a class="el" href="a00295.html#ga35028e8de1d50dc51ccef1d645c55e2a">odbc_get_param_len</a> (const struct <a class="el" href="a00031.html">_drecord</a> *drec_axd, const struct <a class="el" href="a00031.html">_drecord</a> *drec_ixd, const <a class="el" href="a00035.html">TDS_DESC</a> *axd, unsigned int n_row)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return length of parameter from parameter information. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad4353dca3459395981b5041e96072a36"></a><!-- doxytag: member="odbc_util::odbc_get_string_size" ref="gad4353dca3459395981b5041e96072a36" args="(int size, ODBC_CHAR *str _WIDE)" --> int </td><td class="memItemRight" valign="bottom"><b>odbc_get_string_size</b> (int size, ODBC_CHAR *str _WIDE)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae85ff7fb2002b5a7abc04fbee79e5525"></a><!-- doxytag: member="odbc_util::odbc_rdbms_version" ref="gae85ff7fb2002b5a7abc04fbee79e5525" args="(TDSSOCKET *tds, char *pversion_string)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00295.html#gae85ff7fb2002b5a7abc04fbee79e5525">odbc_rdbms_version</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, char *pversion_string)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the version of the RDBMS in the ODBC format. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga48b785425697ed26acef484aec874c44"></a><!-- doxytag: member="odbc_util::odbc_server_to_sql_type" ref="ga48b785425697ed26acef484aec874c44" args="(int col_type, int col_size)" --> SQLSMALLINT </td><td class="memItemRight" valign="bottom"><a class="el" href="a00295.html#ga48b785425697ed26acef484aec874c44">odbc_server_to_sql_type</a> (int col_type, int col_size)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert type from database to ODBC. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">SQLRETURN </td><td class="memItemRight" valign="bottom"><a class="el" href="a00295.html#ga128f6b09cde0af252370ba89cfa1fb78">odbc_set_concise_c_type</a> (SQLSMALLINT concise_type, struct <a class="el" href="a00031.html">_drecord</a> *drec, int check_only)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set concise type and all cascading field. <a href="#ga128f6b09cde0af252370ba89cfa1fb78"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">SQLRETURN </td><td class="memItemRight" valign="bottom"><a class="el" href="a00295.html#ga125574bd2de677438909612db80041ea">odbc_set_concise_sql_type</a> (SQLSMALLINT concise_type, struct <a class="el" href="a00031.html">_drecord</a> *drec, int check_only)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set concise type and all cascading field. <a href="#ga125574bd2de677438909612db80041ea"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4d7f3ccb3041f6d9d64e025052cc1e3b"></a><!-- doxytag: member="odbc_util::odbc_set_return_params" ref="ga4d7f3ccb3041f6d9d64e025052cc1e3b" args="(struct _hstmt *stmt, unsigned int n_row)" --> void </td><td class="memItemRight" valign="bottom"><b>odbc_set_return_params</b> (struct <a class="el" href="a00039.html">_hstmt</a> *stmt, unsigned int n_row)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9c0dddb7b680a1c71c12ae953089daa4"></a><!-- doxytag: member="odbc_util::odbc_set_return_status" ref="ga9c0dddb7b680a1c71c12ae953089daa4" args="(struct _hstmt *stmt, unsigned int n_row)" --> void </td><td class="memItemRight" valign="bottom"><b>odbc_set_return_status</b> (struct <a class="el" href="a00039.html">_hstmt</a> *stmt, unsigned int n_row)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga237aee3e1aa65fe3ece3053589c57632"></a><!-- doxytag: member="odbc_util::odbc_set_sql_type_info" ref="ga237aee3e1aa65fe3ece3053589c57632" args="(TDSCOLUMN *col, struct _drecord *drec, SQLINTEGER odbc_ver)" --> void </td><td class="memItemRight" valign="bottom"><b>odbc_set_sql_type_info</b> (<a class="el" href="a00092.html">TDSCOLUMN</a> *col, struct <a class="el" href="a00031.html">_drecord</a> *drec, SQLINTEGER odbc_ver)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9a07cc6db246fca9c975f8b343048a0c"></a><!-- doxytag: member="odbc_util::odbc_set_stmt" ref="ga9a07cc6db246fca9c975f8b343048a0c" args="(TDS_STMT *stmt, char **dest, const ODBC_CHAR *sql, int sql_len _WIDE)" --> static int </td><td class="memItemRight" valign="bottom"><b>odbc_set_stmt</b> (<a class="el" href="a00039.html">TDS_STMT</a> *stmt, char **dest, const ODBC_CHAR *sql, int sql_len _WIDE)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4a0f275d17cf7948a8d0288d103e625c"></a><!-- doxytag: member="odbc_util::odbc_set_stmt_prepared_query" ref="ga4a0f275d17cf7948a8d0288d103e625c" args="(TDS_STMT *stmt, const ODBC_CHAR *sql, int sql_len _WIDE)" --> int </td><td class="memItemRight" valign="bottom"><b>odbc_set_stmt_prepared_query</b> (<a class="el" href="a00039.html">TDS_STMT</a> *stmt, const ODBC_CHAR *sql, int sql_len _WIDE)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga01f6f50b50046d34e86f2f513f994398"></a><!-- doxytag: member="odbc_util::odbc_set_stmt_query" ref="ga01f6f50b50046d34e86f2f513f994398" args="(TDS_STMT *stmt, const ODBC_CHAR *sql, int sql_len _WIDE)" --> int </td><td class="memItemRight" valign="bottom"><b>odbc_set_stmt_query</b> (<a class="el" href="a00039.html">TDS_STMT</a> *stmt, const ODBC_CHAR *sql, int sql_len _WIDE)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">SQLRETURN </td><td class="memItemRight" valign="bottom"><a class="el" href="a00295.html#gadba4490bf3183799a70c9e2f44fab331">odbc_set_string_flag</a> (<a class="el" href="a00034.html">TDS_DBC</a> *dbc, SQLPOINTER buffer, SQLINTEGER cbBuffer, void FAR *pcbBuffer, const char *s, int len, int flag)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy a string to client setting size according to ODBC convenction. <a href="#gadba4490bf3183799a70c9e2f44fab331"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5e4c9acb731dbc830094782d4084d08d"></a><!-- doxytag: member="odbc_util::odbc_sql_to_c_type_default" ref="ga5e4c9acb731dbc830094782d4084d08d" args="(int sql_type)" --> int </td><td class="memItemRight" valign="bottom"><b>odbc_sql_to_c_type_default</b> (int sql_type)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2d947b215c7ce767d8c6f32bfb07868a"></a><!-- doxytag: member="odbc_util::odbc_sql_to_displaysize" ref="ga2d947b215c7ce767d8c6f32bfb07868a" args="(int sqltype, TDSCOLUMN *col)" --> SQLINTEGER </td><td class="memItemRight" valign="bottom"><b>odbc_sql_to_displaysize</b> (int sqltype, <a class="el" href="a00092.html">TDSCOLUMN</a> *col)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac9d565e82b434d9b4c5dd4938b9a9ba1"></a><!-- doxytag: member="odbc_util::odbc_sql_to_server_type" ref="gac9d565e82b434d9b4c5dd4938b9a9ba1" args="(TDSSOCKET *tds, int sql_type)" --> int </td><td class="memItemRight" valign="bottom"><b>odbc_sql_to_server_type</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, int sql_type)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3fe66633e05d83bfa240656016c76be2"></a><!-- doxytag: member="odbc_util::odbc_strndup" ref="ga3fe66633e05d83bfa240656016c76be2" args="(const char *s, int len)" --> static char * </td><td class="memItemRight" valign="bottom"><b>odbc_strndup</b> (const char *s, int len)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Functions called within <code>ODBC</code> driver. </p> <hr/><h2>Define Documentation</h2> <a class="anchor" id="ga7293d54269b60ba94d1d4a6e7b262492"></a><!-- doxytag: member="odbc_util.c::SQL_TYPES" ref="ga7293d54269b60ba94d1d4a6e7b262492" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SQL_TYPES</td> </tr> </table> </div> <div class="memdoc"> <b>Value:</b><div class="fragment"><pre class="fragment">TYPE_NORMAL(SQL_BIT) \ TYPE_NORMAL(SQL_SMALLINT) \ TYPE_NORMAL(SQL_TINYINT) \ TYPE_NORMAL(SQL_INTEGER) \ TYPE_NORMAL(SQL_BIGINT) \ \ TYPE_NORMAL_SQL_GUID \ \ TYPE_NORMAL(SQL_BINARY) \ TYPE_NORMAL(SQL_VARBINARY) \ TYPE_NORMAL(SQL_LONGVARBINARY) \ \ TYPE_NORMAL(SQL_CHAR) \ TYPE_NORMAL(SQL_VARCHAR) \ TYPE_NORMAL(SQL_LONGVARCHAR) \ TYPE_NORMAL(SQL_WCHAR) \ TYPE_NORMAL(SQL_WVARCHAR) \ TYPE_NORMAL(SQL_WLONGVARCHAR) \ \ TYPE_NORMAL(SQL_DECIMAL) \ TYPE_NORMAL(SQL_NUMERIC) \ \ TYPE_NORMAL(SQL_FLOAT) \ TYPE_NORMAL(SQL_REAL) \ TYPE_NORMAL(SQL_DOUBLE)\ \ TYPE_VERBOSE_START(SQL_DATETIME) \ TYPE_VERBOSE_DATE(SQL_DATETIME, SQL_CODE_TIMESTAMP, SQL_TYPE_TIMESTAMP, SQL_TIMESTAMP) \ TYPE_VERBOSE_END(SQL_DATETIME) </pre></div> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="gafc3593e71189aa4f32a6f6f42dc7cfd7"></a><!-- doxytag: member="odbc_util.c::odbc_c_to_server_type" ref="gafc3593e71189aa4f32a6f6f42dc7cfd7" args="(int c_type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int odbc_c_to_server_type </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>c_type</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Pass this an SQL_C_* type and get a SYB* type which most closely corresponds to the SQL_C_* type. </p> <p>This function can return XSYBNVARCHAR even if server do not support it </p> </div> </div> <a class="anchor" id="ga128f6b09cde0af252370ba89cfa1fb78"></a><!-- doxytag: member="odbc_util.c::odbc_set_concise_c_type" ref="ga128f6b09cde0af252370ba89cfa1fb78" args="(SQLSMALLINT concise_type, struct _drecord *drec, int check_only)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">SQLRETURN odbc_set_concise_c_type </td> <td>(</td> <td class="paramtype">SQLSMALLINT </td> <td class="paramname"> <em>concise_type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="a00031.html">_drecord</a> * </td> <td class="paramname"> <em>drec</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>check_only</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set concise type and all cascading field. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>concise_type</em> </td><td>concise type to set </td></tr> <tr><td valign="top"></td><td valign="top"><em>drec</em> </td><td>record to set. NULL to test error without setting </td></tr> <tr><td valign="top"></td><td valign="top"><em>check_only</em> </td><td>it <>0 (true) check only, do not set type </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga125574bd2de677438909612db80041ea"></a><!-- doxytag: member="odbc_util.c::odbc_set_concise_sql_type" ref="ga125574bd2de677438909612db80041ea" args="(SQLSMALLINT concise_type, struct _drecord *drec, int check_only)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">SQLRETURN odbc_set_concise_sql_type </td> <td>(</td> <td class="paramtype">SQLSMALLINT </td> <td class="paramname"> <em>concise_type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="a00031.html">_drecord</a> * </td> <td class="paramname"> <em>drec</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>check_only</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set concise type and all cascading field. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>concise_type</em> </td><td>concise type to set </td></tr> <tr><td valign="top"></td><td valign="top"><em>drec</em> </td><td>record to set. NULL to test error without setting </td></tr> <tr><td valign="top"></td><td valign="top"><em>check_only</em> </td><td>it <>0 (true) check only, do not set type </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gadba4490bf3183799a70c9e2f44fab331"></a><!-- doxytag: member="odbc_util.c::odbc_set_string_flag" ref="gadba4490bf3183799a70c9e2f44fab331" args="(TDS_DBC *dbc, SQLPOINTER buffer, SQLINTEGER cbBuffer, void FAR *pcbBuffer, const char *s, int len, int flag)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">SQLRETURN odbc_set_string_flag </td> <td>(</td> <td class="paramtype"><a class="el" href="a00034.html">TDS_DBC</a> * </td> <td class="paramname"> <em>dbc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">SQLPOINTER </td> <td class="paramname"> <em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">SQLINTEGER </td> <td class="paramname"> <em>cbBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void FAR * </td> <td class="paramname"> <em>pcbBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>flag</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Copy a string to client setting size according to ODBC convenction. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dbc</em> </td><td>database connection. Can be NULL </td></tr> <tr><td valign="top"></td><td valign="top"><em>buffer</em> </td><td>client buffer </td></tr> <tr><td valign="top"></td><td valign="top"><em>cbBuffer</em> </td><td>client buffer size (in bytes) </td></tr> <tr><td valign="top"></td><td valign="top"><em>pcbBuffer</em> </td><td>pointer to SQLSMALLINT to hold string size </td></tr> <tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>string to copy </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>len of string to copy. <0 null terminated </td></tr> <tr><td valign="top"></td><td valign="top"><em>flag</em> </td><td>set of flag 0x10 SQLINTEGER </td></tr> </table> </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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </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 <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>