EVOLUTION-MANAGER
Edit File: classCPLODBCStatement.html
<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>SDTS_AL: CPLODBCStatement Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">SDTS_AL </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="classCPLODBCStatement-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">CPLODBCStatement Class Reference</div> </div> </div><!--header--> <div class="contents"> <p><code>#include <<a class="el" href="cpl__odbc_8h_source.html">cpl_odbc.h</a>></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a3a7e1f605839b4bb73d676ea162682e7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#a3a7e1f605839b4bb73d676ea162682e7">Clear</a> ()</td></tr> <tr class="separator:a3a7e1f605839b4bb73d676ea162682e7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae40599446871e5bec44bd19e62252c02"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#ae40599446871e5bec44bd19e62252c02">AppendEscaped</a> (const char *)</td></tr> <tr class="separator:ae40599446871e5bec44bd19e62252c02"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3b0f535fc43e327990d97f055bd3d472"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#a3b0f535fc43e327990d97f055bd3d472">Append</a> (const char *)</td></tr> <tr class="separator:a3b0f535fc43e327990d97f055bd3d472"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab8c651da1fa4ce9291ab5f3c079ba423"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#ab8c651da1fa4ce9291ab5f3c079ba423">Append</a> (int)</td></tr> <tr class="separator:ab8c651da1fa4ce9291ab5f3c079ba423"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a170ea4a7df8f79432efce2cb27117ef2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#a170ea4a7df8f79432efce2cb27117ef2">Append</a> (double)</td></tr> <tr class="separator:a170ea4a7df8f79432efce2cb27117ef2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae77f04f6ef6ebb7ffa6dc85c76719e57"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#ae77f04f6ef6ebb7ffa6dc85c76719e57">Appendf</a> (const char *,...) CPL_PRINT_FUNC_FORMAT(2</td></tr> <tr class="separator:ae77f04f6ef6ebb7ffa6dc85c76719e57"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae952af1282c0a83e8b791cdfbb583af4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#ae952af1282c0a83e8b791cdfbb583af4">ExecuteSQL</a> (const char *=NULL)</td></tr> <tr class="separator:ae952af1282c0a83e8b791cdfbb583af4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2ebf900aec9ed9a635e0b24f838ec00c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#a2ebf900aec9ed9a635e0b24f838ec00c">Fetch</a> (int nOrientation=SQL_FETCH_NEXT, int nOffset=0)</td></tr> <tr class="separator:a2ebf900aec9ed9a635e0b24f838ec00c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4fdb2a6ed42b2193ec5c668d978c7140"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#a4fdb2a6ed42b2193ec5c668d978c7140">GetColCount</a> ()</td></tr> <tr class="separator:a4fdb2a6ed42b2193ec5c668d978c7140"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeb9cf8e5a20abfe6d49f937c8e16bab3"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#aeb9cf8e5a20abfe6d49f937c8e16bab3">GetColName</a> (int)</td></tr> <tr class="separator:aeb9cf8e5a20abfe6d49f937c8e16bab3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acefccc2295341b2ef09e0ad9be5ec9e2"><td class="memItemLeft" align="right" valign="top">short </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#acefccc2295341b2ef09e0ad9be5ec9e2">GetColType</a> (int)</td></tr> <tr class="separator:acefccc2295341b2ef09e0ad9be5ec9e2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa727a5ebeb29ce108b01a847de18a8de"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#aa727a5ebeb29ce108b01a847de18a8de">GetColTypeName</a> (int)</td></tr> <tr class="separator:aa727a5ebeb29ce108b01a847de18a8de"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3fc9186c6b107cfbedb5677e97c86830"><td class="memItemLeft" align="right" valign="top">short </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#a3fc9186c6b107cfbedb5677e97c86830">GetColSize</a> (int)</td></tr> <tr class="separator:a3fc9186c6b107cfbedb5677e97c86830"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2d6c8c2f790c81ce9ad1f067ee26ddfa"><td class="memItemLeft" align="right" valign="top">short </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#a2d6c8c2f790c81ce9ad1f067ee26ddfa">GetColPrecision</a> (int)</td></tr> <tr class="separator:a2d6c8c2f790c81ce9ad1f067ee26ddfa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a31342f00e8dbbaea08ce7bcab12cad79"><td class="memItemLeft" align="right" valign="top">short </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#a31342f00e8dbbaea08ce7bcab12cad79">GetColNullable</a> (int)</td></tr> <tr class="separator:a31342f00e8dbbaea08ce7bcab12cad79"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8d4871f0e005f499b23061c265b8bdda"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#a8d4871f0e005f499b23061c265b8bdda">GetColId</a> (const char *)</td></tr> <tr class="separator:a8d4871f0e005f499b23061c265b8bdda"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2726f6b16d26e6002941898538c32c83"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#a2726f6b16d26e6002941898538c32c83">GetColData</a> (int, const char *=NULL)</td></tr> <tr class="separator:a2726f6b16d26e6002941898538c32c83"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8589aec3daac0c3263232c571bb1bb8d"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#a8589aec3daac0c3263232c571bb1bb8d">GetColData</a> (const char *, const char *=NULL)</td></tr> <tr class="separator:a8589aec3daac0c3263232c571bb1bb8d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af6b487988cc484eda8a14d0bdb97d04b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#af6b487988cc484eda8a14d0bdb97d04b">GetColumns</a> (const char *pszTable, const char *pszCatalog=NULL, const char *pszSchema=NULL)</td></tr> <tr class="separator:af6b487988cc484eda8a14d0bdb97d04b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adf52034b4bb377d1ca7956b1d8c1b142"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#adf52034b4bb377d1ca7956b1d8c1b142">GetPrimaryKeys</a> (const char *pszTable, const char *pszCatalog=NULL, const char *pszSchema=NULL)</td></tr> <tr class="separator:adf52034b4bb377d1ca7956b1d8c1b142"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a17d2640dd75d50f4d37a33ad372f606d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#a17d2640dd75d50f4d37a33ad372f606d">GetTables</a> (const char *pszCatalog=NULL, const char *pszSchema=NULL)</td></tr> <tr class="separator:a17d2640dd75d50f4d37a33ad372f606d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaac8fabff87844776f9198786fbf8cab"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#aaac8fabff87844776f9198786fbf8cab">DumpResult</a> (FILE *fp, int bShowSchema=FALSE)</td></tr> <tr class="separator:aaac8fabff87844776f9198786fbf8cab"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr class="memitem:ae9f475371e9ff2f91e6514668803900b"><td class="memItemLeft" align="right" valign="top">static CPLString </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#ae9f475371e9ff2f91e6514668803900b">GetTypeName</a> (int)</td></tr> <tr class="separator:ae9f475371e9ff2f91e6514668803900b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afe650707128654709da20449ee440f2a"><td class="memItemLeft" align="right" valign="top">static SQLSMALLINT </td><td class="memItemRight" valign="bottom"><a class="el" href="classCPLODBCStatement.html#afe650707128654709da20449ee440f2a">GetTypeMapping</a> (SQLSMALLINT)</td></tr> <tr class="separator:afe650707128654709da20449ee440f2a"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Abstraction for statement, and resultset.</p> <p>Includes methods for executing an SQL statement, and for accessing the resultset from that statement. Also provides for executing other ODBC requests that produce results sets such as SQLColumns() and SQLTables() requests. </p> </div><h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a3b0f535fc43e327990d97f055bd3d472"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CPLODBCStatement::Append </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszText</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Append text to internal command.</p> <p>The passed text is appended to the internal SQL command text.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszText</td><td>text to append. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ab8c651da1fa4ce9291ab5f3c079ba423"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CPLODBCStatement::Append </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>nValue</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Append to internal command.</p> <p>The passed value is formatted and appended to the internal SQL command text.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">nValue</td><td>value to append to the command. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a170ea4a7df8f79432efce2cb27117ef2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CPLODBCStatement::Append </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>dfValue</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Append to internal command.</p> <p>The passed value is formatted and appended to the internal SQL command text.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">dfValue</td><td>value to append to the command. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ae40599446871e5bec44bd19e62252c02"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CPLODBCStatement::AppendEscaped </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszText</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Append text to internal command.</p> <p>The passed text is appended to the internal SQL command text after escaping any special characters so it can be used as a character string in an SQL statement.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszText</td><td>text to append. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ae77f04f6ef6ebb7ffa6dc85c76719e57"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int CPLODBCStatement::Appendf </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszFormat</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Append to internal command.</p> <p>The passed format is used to format other arguments and the result is appended to the internal command text. Long results may not be formatted properly, and should be appended with the direct <a class="el" href="classCPLODBCStatement.html#a3b0f535fc43e327990d97f055bd3d472">Append()</a> methods.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszFormat</td><td>printf() style format string.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>FALSE if formatting fails dueto result being too large. </dd></dl> </div> </div> <a class="anchor" id="a3a7e1f605839b4bb73d676ea162682e7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CPLODBCStatement::Clear </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Clear internal command text and result set definitions. </p> </div> </div> <a class="anchor" id="aaac8fabff87844776f9198786fbf8cab"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CPLODBCStatement::DumpResult </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"><em>fp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>bShowSchema</em> = <code>FALSE</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Dump resultset to file.</p> <p>The contents of the current resultset are dumped in a simply formatted form to the provided file. If requested, the schema definition will be written first.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">fp</td><td>the file to write to. stdout or stderr are acceptable.</td></tr> <tr><td class="paramname">bShowSchema</td><td>TRUE to force writing schema information for the rowset before the rowset data itself. Default is FALSE. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ae952af1282c0a83e8b791cdfbb583af4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int CPLODBCStatement::ExecuteSQL </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszStatement</em> = <code>NULL</code></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Execute an SQL statement.</p> <p>This method will execute the passed (or stored) SQL statement, and initialize information about the resultset if there is one. If a NULL statement is passed, the internal stored statement that has been previously set via <a class="el" href="classCPLODBCStatement.html#a3b0f535fc43e327990d97f055bd3d472">Append()</a> or <a class="el" href="classCPLODBCStatement.html#ae77f04f6ef6ebb7ffa6dc85c76719e57">Appendf()</a> calls will be used.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszStatement</td><td>the SQL statement to execute, or NULL if the internally saved one should be used.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>TRUE on success or FALSE if there is an error. Error details can be fetched with OGRODBCSession::GetLastError(). </dd></dl> </div> </div> <a class="anchor" id="a2ebf900aec9ed9a635e0b24f838ec00c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int CPLODBCStatement::Fetch </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>nOrientation</em> = <code>SQL_FETCH_NEXT</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nOffset</em> = <code>0</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch a new record.</p> <p>Requests the next row in the current resultset using the SQLFetchScroll() call. Note that many ODBC drivers only support the default forward fetching one record at a time. Only SQL_FETCH_NEXT (the default) should be considered reliable on all drivers.</p> <p>Currently it isn't clear how to determine whether an error or a normal out of data condition has occured if <a class="el" href="classCPLODBCStatement.html#a2ebf900aec9ed9a635e0b24f838ec00c">Fetch()</a> fails.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">nOrientation</td><td>One of SQL_FETCH_NEXT, SQL_FETCH_LAST, SQL_FETCH_PRIOR, SQL_FETCH_ABSOLUTE, or SQL_FETCH_RELATIVE (default is SQL_FETCH_NEXT).</td></tr> <tr><td class="paramname">nOffset</td><td>the offset (number of records), ignored for some orientations.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>TRUE if a new row is successfully fetched, or FALSE if not. </dd></dl> </div> </div> <a class="anchor" id="a4fdb2a6ed42b2193ec5c668d978c7140"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int CPLODBCStatement::GetColCount </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch the resultset column count.</p> <dl class="section return"><dt>Returns</dt><dd>the column count, or zero if there is no resultset. </dd></dl> </div> </div> <a class="anchor" id="a2726f6b16d26e6002941898538c32c83"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char * CPLODBCStatement::GetColData </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>iCol</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszDefault</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch column data.</p> <p>Fetches the data contents of the requested column for the currently loaded row. The result is returned as a string regardless of the column type. NULL is returned if an illegal column is given, or if the actual column is "NULL".</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">iCol</td><td>the zero based column to fetch.</td></tr> <tr><td class="paramname">pszDefault</td><td>the value to return if the column does not exist, or is NULL. Defaults to NULL.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>pointer to internal column data or NULL on failure. </dd></dl> </div> </div> <a class="anchor" id="a8589aec3daac0c3263232c571bb1bb8d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char * CPLODBCStatement::GetColData </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszColName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszDefault</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch column data.</p> <p>Fetches the data contents of the requested column for the currently loaded row. The result is returned as a string regardless of the column type. NULL is returned if an illegal column is given, or if the actual column is "NULL".</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszColName</td><td>the name of the column requested.</td></tr> <tr><td class="paramname">pszDefault</td><td>the value to return if the column does not exist, or is NULL. Defaults to NULL.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>pointer to internal column data or NULL on failure. </dd></dl> </div> </div> <a class="anchor" id="a8d4871f0e005f499b23061c265b8bdda"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int CPLODBCStatement::GetColId </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszColName</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch column index.</p> <p>Gets the column index corresponding with the passed name. The name comparisons are case insensitive.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszColName</td><td>the name to search for.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>the column index, or -1 if not found. </dd></dl> </div> </div> <a class="anchor" id="aeb9cf8e5a20abfe6d49f937c8e16bab3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char * CPLODBCStatement::GetColName </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>iCol</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch a column name.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">iCol</td><td>the zero based column index.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>NULL on failure (out of bounds column), or a pointer to an internal copy of the column name. </dd></dl> </div> </div> <a class="anchor" id="a31342f00e8dbbaea08ce7bcab12cad79"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">short CPLODBCStatement::GetColNullable </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>iCol</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch the column nullability.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">iCol</td><td>the zero based column index.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>TRUE if the column may contains or FALSE otherwise. </dd></dl> </div> </div> <a class="anchor" id="a2d6c8c2f790c81ce9ad1f067ee26ddfa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">short CPLODBCStatement::GetColPrecision </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>iCol</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch the column precision.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">iCol</td><td>the zero based column index.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>column precision, may be zero or the same as column size for columns to which it does not apply. </dd></dl> </div> </div> <a class="anchor" id="a3fc9186c6b107cfbedb5677e97c86830"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">short CPLODBCStatement::GetColSize </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>iCol</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch the column width.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">iCol</td><td>the zero based column index.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>column width, zero for unknown width columns. </dd></dl> </div> </div> <a class="anchor" id="acefccc2295341b2ef09e0ad9be5ec9e2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">short CPLODBCStatement::GetColType </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>iCol</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch a column data type.</p> <p>The return type code is a an ODBC SQL_ code, one of SQL_UNKNOWN_TYPE, SQL_CHAR, SQL_NUMERIC, SQL_DECIMAL, SQL_INTEGER, SQL_SMALLINT, SQL_FLOAT, SQL_REAL, SQL_DOUBLE, SQL_DATETIME, SQL_VARCHAR, SQL_TYPE_DATE, SQL_TYPE_TIME, SQL_TYPE_TIMESTAMPT.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">iCol</td><td>the zero based column index.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>type code or -1 if the column is illegal. </dd></dl> </div> </div> <a class="anchor" id="aa727a5ebeb29ce108b01a847de18a8de"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char * CPLODBCStatement::GetColTypeName </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>iCol</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch a column data type name.</p> <p>Returns data source-dependent data type name; for example, "CHAR", "VARCHAR", "MONEY", "LONG VARBINAR", or "CHAR ( ) FOR BIT DATA".</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">iCol</td><td>the zero based column index.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>NULL on failure (out of bounds column), or a pointer to an internal copy of the column dat type name. </dd></dl> </div> </div> <a class="anchor" id="af6b487988cc484eda8a14d0bdb97d04b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int CPLODBCStatement::GetColumns </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszCatalog</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszSchema</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch column definitions for a table.</p> <p>The SQLColumn() method is used to fetch the definitions for the columns of a table (or other queriable object such as a view). The column definitions are digested and used to populate the <a class="el" href="classCPLODBCStatement.html">CPLODBCStatement</a> column definitions essentially as if a "SELECT * FROM tablename" had been done; however, no resultset will be available.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszTable</td><td>the name of the table to query information on. This should not be empty.</td></tr> <tr><td class="paramname">pszCatalog</td><td>the catalog to find the table in, use NULL (the default) if no catalog is available.</td></tr> <tr><td class="paramname">pszSchema</td><td>the schema to find the table in, use NULL (the default) if no schema is available.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>TRUE on success or FALSE on failure. </dd></dl> </div> </div> <a class="anchor" id="adf52034b4bb377d1ca7956b1d8c1b142"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int CPLODBCStatement::GetPrimaryKeys </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszCatalog</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszSchema</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch primary keys for a table.</p> <p>The SQLPrimaryKeys() function is used to fetch a list of fields forming the primary key. The result is returned as a result set matching the SQLPrimaryKeys() function result set. The 4th column in the result set is the column name of the key, and if the result set contains only one record then that single field will be the complete primary key.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszTable</td><td>the name of the table to query information on. This should not be empty.</td></tr> <tr><td class="paramname">pszCatalog</td><td>the catalog to find the table in, use NULL (the default) if no catalog is available.</td></tr> <tr><td class="paramname">pszSchema</td><td>the schema to find the table in, use NULL (the default) if no schema is available.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>TRUE on success or FALSE on failure. </dd></dl> </div> </div> <a class="anchor" id="a17d2640dd75d50f4d37a33ad372f606d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int CPLODBCStatement::GetTables </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszCatalog</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszSchema</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Fetch tables in database.</p> <p>The SQLTables() function is used to fetch a list tables in the database. The result is returned as a result set matching the SQLTables() function result set. The 3rd column in the result set is the table name. Only tables of type "TABLE" are returned.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pszCatalog</td><td>the catalog to find the table in, use NULL (the default) if no catalog is available.</td></tr> <tr><td class="paramname">pszSchema</td><td>the schema to find the table in, use NULL (the default) if no schema is available.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>TRUE on success or FALSE on failure. </dd></dl> </div> </div> <a class="anchor" id="afe650707128654709da20449ee440f2a"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">SQLSMALLINT CPLODBCStatement::GetTypeMapping </td> <td>(</td> <td class="paramtype">SQLSMALLINT </td> <td class="paramname"><em>nTypeCode</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Get appropriate C data type for SQL column type.</p> <p>Returns a C data type code, corresponding to the indicated SQL data type code (as returned from <a class="el" href="classCPLODBCStatement.html#acefccc2295341b2ef09e0ad9be5ec9e2">CPLODBCStatement::GetColType()</a>).</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">nTypeCode</td><td>the SQL_ code, such as SQL_CHAR.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>data type code. The valid code is always returned. If SQL code is not recognised, SQL_C_BINARY will be returned. </dd></dl> </div> </div> <a class="anchor" id="ae9f475371e9ff2f91e6514668803900b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">CPLString CPLODBCStatement::GetTypeName </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>nTypeCode</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Get name for SQL column type.</p> <p>Returns a string name for the indicated type code (as returned from <a class="el" href="classCPLODBCStatement.html#acefccc2295341b2ef09e0ad9be5ec9e2">CPLODBCStatement::GetColType()</a>).</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">nTypeCode</td><td>the SQL_ code, such as SQL_CHAR.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>internal string, "UNKNOWN" if code not recognised. </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="cpl__odbc_8h_source.html">cpl_odbc.h</a></li> <li>cpl_odbc.cpp</li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>