ibm-information-center/dist/eclipse/plugins/i5OS.ic.cli_5.4.0.1/rzadpgdesfld.htm

217 lines
14 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="reference" />
<meta name="DC.Title" content="SQLGetDescField - Get descriptor field" />
<meta name="DC.Relation" scheme="URI" content="rzadphdapi.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1999, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1999, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzadpgdesfld" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>SQLGetDescField</title>
</head>
<body id="rzadpgdesfld"><a name="rzadpgdesfld"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">SQLGetDescField - Get descriptor field</h1>
<div><div class="section"></div>
<div class="section"><h4 class="sectiontitle">Purpose</h4> <p><samp class="codeph">SQLGetDescField()</samp> obtains
a value from a descriptor. <samp class="codeph">SQLGetDescField()</samp> is a more extensible
alternative to the <samp class="codeph">SQLGetDescRec()</samp> function.</p>
<p>This function
is similar to that of <samp class="codeph">SQLDescribeCol()</samp> but <samp class="codeph">SQLGetDescField()</samp> can
retrieve data from parameter descriptors as well as row descriptors.</p>
</div>
<div class="section"><h4 class="sectiontitle">Syntax</h4><pre>SQLRETURN SQLGetDescField (SQLHDESC hdesc,
SQLSMALLINT irec,
SQLSMALLINT fDescType,
SQLPOINTER rgbDesc,
SQLINTEGER bLen,
SQLINTEGER *sLen);</pre>
</div>
<div class="section"><h4 class="sectiontitle">Function arguments</h4>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" width="100%" frame="hsides" border="1" rules="all"><caption>Table 1. SQLGetDescField arguments</caption><thead align="left"><tr><th align="left" valign="top" width="20%" id="d0e62">Data type</th>
<th align="left" valign="top" width="20%" id="d0e64">Argument</th>
<th align="left" valign="top" width="20%" id="d0e66">Use</th>
<th align="left" valign="top" width="40%" id="d0e68">Description</th>
</tr>
</thead>
<tbody><tr><td align="left" valign="top" width="20%" headers="d0e62 ">SQLHDESC</td>
<td align="left" valign="top" width="20%" headers="d0e64 "><em>hdesc</em></td>
<td align="left" valign="top" width="20%" headers="d0e66 ">Input</td>
<td align="left" valign="top" width="40%" headers="d0e68 ">Descriptor handle.</td>
</tr>
<tr><td align="left" valign="top" width="20%" headers="d0e62 ">SQLSMALLINT</td>
<td align="left" valign="top" width="20%" headers="d0e64 "><em>irec</em></td>
<td align="left" valign="top" width="20%" headers="d0e66 ">Input</td>
<td align="left" valign="top" width="40%" headers="d0e68 ">The number of records in the descriptor matches
the number of columns in the result set for a row descriptor, or the number
of parameters in a parameter descriptor.</td>
</tr>
<tr><td align="left" valign="top" width="20%" headers="d0e62 ">SQLSMALLINT</td>
<td align="left" valign="top" width="20%" headers="d0e64 "><em>fDescType</em></td>
<td align="left" valign="top" width="20%" headers="d0e66 ">Input</td>
<td align="left" valign="top" width="40%" headers="d0e68 ">See <a href="#rzadpgdesfld__tddtyp">Table 2</a>.</td>
</tr>
<tr><td align="left" valign="top" width="20%" headers="d0e62 ">SQLPOINTER</td>
<td align="left" valign="top" width="20%" headers="d0e64 "><em>rgbDesc</em></td>
<td align="left" valign="top" width="20%" headers="d0e66 ">Output</td>
<td align="left" valign="top" width="40%" headers="d0e68 ">Pointer to buffer.</td>
</tr>
<tr><td align="left" valign="top" width="20%" headers="d0e62 ">SQLINTEGER</td>
<td align="left" valign="top" width="20%" headers="d0e64 "><em>bLen</em></td>
<td align="left" valign="top" width="20%" headers="d0e66 ">Input</td>
<td align="left" valign="top" width="40%" headers="d0e68 ">Length of descriptor buffer (<em>rgbDesc</em>).</td>
</tr>
<tr><td align="left" valign="top" width="20%" headers="d0e62 ">SQLINTEGER *</td>
<td align="left" valign="top" width="20%" headers="d0e64 "><em>sLen</em></td>
<td align="left" valign="top" width="20%" headers="d0e66 ">Output</td>
<td align="left" valign="top" width="40%" headers="d0e68 ">Actual number of bytes in the descriptor
to return. If this argument contains a value equal to or higher than the length <em>rgbDesc</em> buffer,
truncation occurs.</td>
</tr>
</tbody>
</table>
</div>
<div class="tablenoborder"><a name="rzadpgdesfld__tddtyp"><!-- --></a><table cellpadding="4" cellspacing="0" summary="" id="rzadpgdesfld__tddtyp" width="100%" frame="hsides" border="1" rules="rows"><caption>Table 2. fDescType
descriptor types</caption><thead align="left"><tr><th align="left" valign="top" width="50.18587360594795%" id="d0e149">Descriptor</th>
<th align="left" valign="top" width="17.286245353159853%" id="d0e151">Type</th>
<th align="left" valign="top" width="32.52788104089219%" id="d0e153">Description</th>
</tr>
</thead>
<tbody><tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_ALLOC_TYPE</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">SMALLINT</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">Either SQL_DESC_ALLOC_USER if the application
explicitly allocated the descriptor, or SQL_DESC_ALLOC_AUTO if the implementation
automatically allocated the descriptor.</td>
</tr>
<tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_COUNT</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">SMALLINT</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">The number of records in the descriptor is
returned in <em>rgbDesc</em>.</td>
</tr>
<tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_DATA_PTR</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">SQLPOINTER</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">Retrieve the data pointer field for <em>irec</em>.</td>
</tr>
<tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_DATETIME_INTERVAL_CODE</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">SMALLINT</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">Retrieve the interval code for records with
a type of SQL_DATETIME. The interval code further defines the SQL_DATETIME
data type. The code values are SQL_CODE_DATE, SQL_CODE_TIME, and SQL_CODE_TIMESTAMP.</td>
</tr>
<tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_INDICATOR_PTR</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">SQLPOINTER</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">Retrieve the indicator pointer field for <em>irec</em>.</td>
</tr>
<tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_LENGTH_PTR</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">SQLPOINTER</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">Retrieve the length pointer field for <em>irec</em>.</td>
</tr>
<tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_LENGTH</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">INTEGER</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">Retrieve the LENGTH field of <em>irec</em>.</td>
</tr>
<tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_NAME</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">CHAR(128)</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">Retrieve the NAME field of <em>irec</em>.</td>
</tr>
<tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_NULLABLE</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">SMALLINT</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">If <em>irec</em> can contain nulls, then SQL_NULLABLE
is returned in <em>rgbDesc</em>. Otherwise, SQL_NO_NULLS is returned in <em>rgbDesc</em>.</td>
</tr>
<tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_PRECISION</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">SMALLINT</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">Retrieve the PRECISION field of <em>irec</em>.</td>
</tr>
<tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_SCALE</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">SMALLINT</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">Retrieve the SCALE field of <em>irec</em>.</td>
</tr>
<tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_TYPE</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">SMALLINT</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">Retrieve the TYPE field of <em>irec</em>.</td>
</tr>
<tr><td align="left" valign="top" width="50.18587360594795%" headers="d0e149 ">SQL_DESC_UNNAMED</td>
<td align="left" valign="top" width="17.286245353159853%" headers="d0e151 ">SMALLINT</td>
<td align="left" valign="top" width="32.52788104089219%" headers="d0e153 ">This is SQL_NAMED if the NAME field is an
actual name, or SQL_UNNAMED if the NAME field is an implementation-generated
name.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section"><h4 class="sectiontitle">Usage</h4><p>The number of records in the descriptor corresponds
to the number of columns in the result set, if the descriptor is row descriptor,
or the number of parameters, for a parameter descriptor.</p>
<p>Calling <samp class="codeph">SQLGetDescField()</samp> with <em>fDescType</em> set
to SQL_DESC_COUNT is an alternative to calling <samp class="codeph">SQLNumResultCols()</samp> to
determine whether any columns can be returned.</p>
</div>
<div class="section"><h4 class="sectiontitle">Return codes</h4><ul><li>SQL_SUCCESS</li>
<li>SQL_SUCCESS_WITH_INFO</li>
<li>SQL_ERROR</li>
<li>SQL_INVALID_HANDLE</li>
<li>SQL_NO_DATA_FOUND</li>
</ul>
</div>
<div class="section"><h4 class="sectiontitle">Diagnostics</h4>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" width="100%" frame="hsides" border="1" rules="rows"><caption>Table 3. SQLGetDescField SQLSTATEs</caption><thead align="left"><tr><th align="left" valign="top" width="25%" id="d0e328">SQLSTATE</th>
<th align="left" valign="top" width="25%" id="d0e330">Description</th>
<th align="left" valign="top" width="50%" id="d0e332">Explanation</th>
</tr>
</thead>
<tbody><tr><td align="left" valign="top" width="25%" headers="d0e328 "><strong>HY</strong>009</td>
<td align="left" valign="top" width="25%" headers="d0e330 ">Argument value that is not valid</td>
<td align="left" valign="top" width="50%" headers="d0e332 ">The value specified for the argument <em>fDescType</em> or <em>irec</em> is
not valid. <p>The argument <em>rgbDesc</em> or <em>sLen</em> is a null pointer.</p>
</td>
</tr>
<tr><td align="left" valign="top" width="25%" headers="d0e328 "><strong>HY</strong>013 <strong>*</strong></td>
<td align="left" valign="top" width="25%" headers="d0e330 ">Memory management problem</td>
<td align="left" valign="top" width="50%" headers="d0e332 ">The driver is unable to access the memory
required to support the processing or completion of the function.</td>
</tr>
<tr><td valign="top" width="25%" headers="d0e328 "><p><strong>HY</strong>021</p>
</td>
<td valign="top" width="25%" headers="d0e330 "><p><img src="./delta.gif" alt="Start of change" />Internal descriptor that is not
valid<img src="./deltaend.gif" alt="End of change" /></p>
</td>
<td valign="top" width="50%" headers="d0e332 "><p><img src="./delta.gif" alt="Start of change" />The internal descriptor cannot be
addressed or allocated, or it contains a value that is not valid.<img src="./deltaend.gif" alt="End of change" /></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section"><h4 class="sectiontitle">References</h4><ul><li><a href="rzadpfnbindc.htm#rzadpfnbindc">SQLBindCol - Bind a column to an application variable</a></li>
<li><a href="rzadpfndecol.htm#rzadpfndecol">SQLDescribeCol - Describe column attributes</a></li>
<li><a href="rzadpfnexecd.htm#rzadpfnexecd">SQLExecDirect - Execute a statement directly</a></li>
<li><a href="rzadpfnexec.htm#rzadpfnexec">SQLExecute - Execute a statement</a></li>
<li><a href="rzadpfnprep.htm#rzadpfnprep">SQLPrepare - Prepare a statement</a></li>
</ul>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzadphdapi.htm" title="This topic provides a description of each CLI function.">DB2 UDB CLI functions</a></div>
</div>
</div>
</body>
</html>