Pro*C SQLDA ½á¹¹Ìå
--Õª×Ô ¡¶Oracle Pro*C ³ÌÐò¿ª·¢¡· --Create/Modify Email£ºxingchengli@gmail.com
SQLDA µÄ½á¹¹ÈçÏ£º
struct SQLDA
{
long N; /* Descriptor size in number of entries */
char **V; Ptr to Arr of addresses of main variables */
long *L; /* Ptr to Arr of lengths of buffers */
short *T; /* Ptr to Arr of types of buffers */
short **I; * Ptr to Arr of addresses of indicator vars */
long F; /* Number of variables found by DESCRIBE */
char **S; /* Ptr to Arr of variable name pointers */
short *M; /* Ptr to Arr of max lengths of var. names */
short *C; * Ptr to Arr of current lengths of var. names */
char **X; /* Ptr to Arr of ind. var. name pointers */
short *Y; /* Ptr to Arr of max lengths of ind. var. names */
short *Z; /* Ptr to Arr of cur lengths of ind. var. names */
};
SQLDA½á¹¹³ÉÔ±×÷ÓÃÃèÊö£º
Ãû³Æ ÃèÊö
N SELECT-LISTÁлòռλ·ûµÄ×î´óÊýÁ¿£¬Ö´ÐÐDESCRIBEǰ±ØÐëÖ´ÐÐ
SQLSQLDAAlloc()º¯Êý¸øN½øÐи³Öµ£¬É趨ÃèÊöÊý×éµÄάÊý£¬Æä¾ö¶¨ÁËÃèÊö×ֽṹ³É
Ô±Êý×éµÄ×î´óÔªËØ¸öÊý¡£ÔÚDESCRIBEÃüÁîºó£¬±ØÐ뽫´æ´¢ÔÚFÖеıäÁ¿ÕæÊµ¸öÊý¸³
Öµ¸øN¡£
V ÊÇÒ»¸öÖ¸ÏòÒ»¸öµØÖ·Êý×éµÄÖ¸Õ룬ÔÚ¸ÃÊý×éÖд洢SELECT-LISTÁÐÖµ»ò°ó¶¨±ä
Á¿µÄÖµ¡£µ±Ê¹ÓÃSQLSQLDAAllocº¯Êýʱ£¬ÏµÍ³¸øV[0]µ½V[n-]¸³ÖµÎª0¡£ÔÚʹÓÃselect
descriptorsʱ£¬±ØÐëÔÚFETCHÓï¾äǰ£¬¸øVÖ¸ÕëÊý×é·ÖÅäÄÚ´æ¿Õ¼ä£¬Ó¦ÎªÏÂÁÐÓï¾äÒª
Óõ½Á½ÖÖÃèÊö×Ö¾ßÌåµÄÖµ£º
EXEC SQL FETCH ... USING ‘select descriptors’
¶ÔÓÚbind descriptors,±ØÐëÔÚOPENÓï¾äǰ·ÖÅä¿Õ¼ä
EXEC SQL OPEN ... USING ‘bind descriptors’
L LÊÇÒ»¸öÖ¸Ïò´æ·Åselect-list»òbind-variable±äÁ¿Öµ³¤¶ÈÊý×éµÄÖ¸Õë¡£¶ÔÓÚselect
descriptors£¬DESCRIBE SELECT LISTÓï¾äÉèÖÃÊý×éÖи÷ÔªËØµÄÖµ£¬¶Ô²»ÔÚselect-list
µÄ¶ÔÓ¦³¤¶ÈÉèÖóɸÃÀàÐ͵Ŀɵ͍ÒåµÄ×î´ó³¤¶È¡£ÔÚFETCHÓï¾äǰ£¬Óû§¿ÉÄÜÐèÒª
ÖØÐÂÐ޸ıäÁ¿³¤¶È£¬±ÈÈçΪÁËÏÔʾÔÒò£¬ÐèÒª½«NUMBERÀàÐÍÊý¾Ý´æ´¢µ½CÓïÑÔchar[]
ÀàÐÍ£¬¾ÍÐèҪͨ¹ýSQLNumberPrecV6()º¯ÊýµÃµ½NUMBER³¤¶È£¬È»ºóת»»³É×Ö·û´®
ºóµÄÕæÊµ³¤¶È¡£
¶ÔÓÚbind descriptors£¬Óû§±ØÐëÔÚOPENÓï¾äǰ£¬¸øÊý×é³ÉÔ±¸³¶ÔÓ¦V±äÁ¿³ÉÔ±
Ïà¹ØÎĵµ£º
C/C++ÖеÄÈÕÆÚºÍʱ¼ä
ͻ񻣼
±¾ÎÄ´Ó½éÉÜ»ù´¡¸ÅÄîÈëÊÖ£¬Ì½ÌÖÁËÔÚC/C++ÖжÔÈÕÆÚºÍʱ¼ä²Ù×÷ËùÓõ½µÄÊý¾Ý½á¹¹ºÍº¯Êý£¬²¢¶Ô¼ÆÊ±¡¢Ê±¼äµÄ»ñÈ¡¡¢Ê±¼äµÄ¼ÆËãºÍÏÔʾ¸ñʽµÈ·½Ãæ½øÐÐÁ˲ûÊö¡£±¾ÎÄ»¹Í¨¹ý´óÁ¿µÄʵÀýÏòÄãչʾÁËtime.hÍ·ÎļþÖÐÉùÃ÷µÄ¸÷ÖÖº¯ÊýºÍÊý¾Ý½á¹¹µÄÏêϸʹÓ÷½·¨¡£
¹Ø¼ü×Ö£ºUTC£¨ÊÀ½ç±ê׼ʱ¼ä£©£¬Calendar Time£¨ ......
£¨±¾ÎÄÊÕ¼¯ÖÁÍøÂ磩
1.½éÉÜÒ»ÏÂSTL£¬Ïêϸ˵Ã÷STLÈçºÎʵÏÖvector¡£
STL (±ê׼ģ°æ¿â£¬Standard Template Library)ËüÓÉÈÝÆ÷Ëã·¨µü´úÆ÷×é³É¡£
STLÓÐÒÔϵÄһЩÓŵ㣺
¿ÉÒÔ·½±ãÈÝÒ×µØÊµÏÖËÑË÷Êý¾Ý»ò¶ÔÊý¾ÝÅÅÐòµ ......
char str1[] = "abc";
char str2[] = "abc";
const char str3[] = "abc";
const char str4[] = "abc";
const char* str5 = "abc";
const char* str6 = "abc";
cout << boolalpha&nb ......
£¨Î壩
40. Á´±íÌ⣺һ¸öÁ´±íµÄ½áµã½á¹¹
struct Node
{
int data ;
Node *next ;
};
typedef struct Node Node ;
(1)ÒÑÖªÁ´±íµÄÍ·½áµãhead,дһ¸öº¯Êý°ÑÕâ¸öÁ´±íÄæÐò ( Intel)
Node * ReverseList(Node *head) //Á´±íÄæÐò
{
i ......
ÕûÀí×Ô£ºhttp://forums.oracle.com/forums/thread.jspa?threadID=664180&tstart=0
ÎÊ£ºIs it possible to use INNER JOIN's with Pro*C? I'm currently getting this error:
INNER JOIN t_diagnosis b ON a.sak_diag = b.sak_diag
....1
PCC-S-02201, Encountered the symbol "INNER" when expecting on ......