ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzajp_5.4.0.1/rzajphoststrucdeclaration.htm

147 lines
8.6 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<?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="Host structure declarations in C and C++ applications that use SQL" />
<meta name="abstract" content="These figures show the valid syntax for host structure declarations." />
<meta name="description" content="These figures show the valid syntax for host structure declarations." />
<meta name="DC.Relation" scheme="URI" content="rzajphoststrucc.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzajphoststrucdeclaration" />
<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>Host structure declarations in C and C++ applications that use SQL</title>
</head>
<body id="rzajphoststrucdeclaration"><a name="rzajphoststrucdeclaration"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Host structure declarations in C and C++ applications that use SQL</h1>
<div><p>These figures show the valid syntax for host structure declarations.</p>
<div class="section"><h4 class="sectiontitle">Host Structures</h4> <pre><span><img src="./c.gif" border="0" alt="Read syntax diagram" longdesc="rzajphoststrucdeclarationsyn1.htm" /></span><a href="#d0e16"><img src="./c.gif" border="0" alt="Skip visual syntax diagram" /></a>
>>-+--------+--+----------+--+---------+--struct--+-----+--{---->
   +-auto---+ +-const----+ '-_Packed-' '-<i>tag</i>-'    
   +-extern-+ '-volatile-'    
   '-static-'    
   .----------------------------------------------------------------.    
   | .-,-----. |    
   V V | |    
>----+-+-float----------------------------------+----<i>var-1</i>-+-- ; -+-+--}-->
    | +-double---------------------------------+ |    
    | +-decimal (--<i>precision</i>--+----------+--)--+ |    
    | | '-,--<i>scale</i>-' | |    
    | | .-int-. | |    
    | +-+-+--------+--+-long long-+--+-----+-+-+ |    
    | | | '-signed-' +-long------+ | | |    
    | | | '-short-----' | | |    
    | | +-sqlint32---------------------------+ | |    
    | | '-sqlint64---------------------------' | |    
    | +-<i>varchar-structure</i>----------------------+ |    
    | +-<i>vargraphic-structure</i>-------------------+ |    
    | +-<i>lob</i>------------------------------------+ |    
    | +-<i>SQL-varchar</i>----------------------------+ |    
    | +-<i>rowid</i>----------------------------------+ |    
    | '-<i>binary</i>---------------------------------' |    
    | .-,-----------------------. |    
    | V | |    
    +-+----------+--char----<i>var-2</i>--+--------------+-+-- ; -------+    
    | +-signed---+ '-[--<i>length</i>--]-' |    
    | '-unsigned-' |    
    | .-,-----------------------. |    
    | V | |    
    '-wchar_t----<i>var-5</i>--+--------------+-+-- ; ------------------'    
    '-[--<i>length</i>--]-'    
   .-,----------------------------------.    
   V |    
>----<i>variable-name</i>--+-----------------+-+-- ; ----------------->&lt;
    '- = --<i>expression</i>-'    
varchar-structure
    .-int-.    
|--struct--+-----+--{--+--------+--short--+-----+--<i>var-3</i>-- ; --->
    '-<i>tag</i>-' '-signed-'    
>--+----------+--char--<i>var-4</i>--[--<i>length</i>--]-- ; --}--------------|
   +-signed---+    
   '-unsigned-'    
</pre><a name="d0e16"></a></div>
<div class="section"><h4 class="sectiontitle">Host Structures (continued)</h4> <pre><span><img src="./c.gif" border="0" alt="Read syntax diagram" longdesc="rzajphoststrucdeclarationsyn2.htm" /></span><a href="#d0e196"><img src="./c.gif" border="0" alt="Skip visual syntax diagram" /></a>
vargraphic-structure
    .-int-.   
|--struct--+-----+--{--+--------+--short--+-----+--------------->
    '-<i>tag</i>-' '-signed-'    
>--<i>var-6</i>-- ; --wchar_t--<i>var-7</i>--[--<i>length</i>--]-- ; --}-------------|
lob
|--SQL TYPE IS--+-+-CLOB---+--(--<i>length</i>--+---+--)-+-------------|
    | +-DBCLOB-+ +-K-+ |   
    | '-BLOB---' +-M-+ |   
    | '-G-' |   
    +-+-CLOB_LOCATOR---+--------------+   
    | +-DBCLOB_LOCATOR-+ |   
    | '-BLOB_LOCATOR---' |   
    '-+-CLOB_FILE---+-----------------'   
    +-DBCLOB_FILE-+    
    '-BLOB_FILE---'    
SQL-varchar
|--VARCHAR--<i>variable-name</i>--[--<i>length</i>--]-------------------------|
rowid
|--SQL TYPE IS ROWID--------------------------------------------|
binary
|--SQL TYPE IS--+-BINARY---------+--(--<i>length</i>--)----------------|
    +-VARBINARY------+    
    '-BINARY VARYING-'    
</pre><a name="d0e196"></a></div>
<div class="section"> <div class="note"><span class="notetitle">Notes:</span> <ol><li>For details on declaring numeric, character, graphic, LOB, ROWID, and
binary host variables, see the notes under numeric, character, graphic, LOB,
ROWID, and binary host variables.</li>
<li>A structure of a short int followed by either a char or wchar_t array
is always interpreted by the SQL C and C++ precompilers as either a VARCHAR
or VARGRAPHIC structure.</li>
<li>_Packed must not be used in C++. Instead, specify #pragma pack(1) prior
to the declaration and #pragma pack() after the declaration. <pre>#pragma pack(1)
struct {
short myshort;
long mylong;
char mychar[5];
} a_st;
#pragma pack()</pre>
</li>
<li>If using sqlint32 or sqlint64, the header file sqlsystm.h must be included.</li>
</ol>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzajphoststrucc.htm" title="In C and C++ programs, you can define a host structure, which is a named set of elementary C or C++ variables.">Use host structures in C and C++ applications that use SQL</a></div>
</div>
</div>
</body>
</html>