ProC

2026/1/14 3:57:36

sqlpre(long*length,int*precision,int*scale); ¸Ãº¯ÊýµÄÔ­ÐÍÔÚsqlcpr.hÎĵµÖС£²ÎÊý˵Ã÷ÈçÏ£º

¡¤length:Ö¸Ïò´æ´¢NUMBERÖµ³¤¶ÈµÄ³¤ÕûÊý±äÁ¿µÄÖ¸Õë¡£¶ÔÓÚ±äÁ¿LÀ´Ëµ£¬³¤¶È±»´æ´¢µ½L[i]ÖУ¬¶ø¾«¶ÈºÍ±ê¶È·Ö±ð´æ´¢ÔڸñäÁ¿µÄµÍ×ֽں͸ß×Ö½ÚÖС£

¡¤precision£ºÖ¸ÏòÕûÊý±äÁ¿µÄÖ¸Õ룬NUMBERÖµµÄ¾«¶È·µ»Øµ½¸Ã±äÁ¿ÖС£ ¡¤scale: Ö¸ÏòÕûÊý±äÁ¿µÄÖ¸Õ룬NUMBERÖµµÄ±ê¶È·µ»Øµ½¸Ã±äÁ¿ÖС£

¸Ãº¯ÊýÖ»ÄÜÓÃÓÚ·ÇÏß³ÌÓ¦Ó᣶ø¼ÙÈçÒªÔÚÏß³ÌÓ¦ÓÃÖÐÍê³ÉͬÑù¹¦ÄÜ£¬ÔòÐèҪʹÓú¯Êýsqlprct()¡£ÁíÍ⣬ҲÄܹ»Ê¹ÓÃSQLLIBµÄк¯ÊýSQLNumberProV6(),¸Ãº¯Êý¼È¿ÉÓÃÓÚÏß³ÌÓ¦ÓÃÓÖ¿ÉÓÃÓÚ·ÇÏß³ÌÓ¦ÓᣠÔÚÖ´ÐÐFETCHÃüÁîǰ£¬»¹±ØÐëÅäÖÃL[i]¡£ÀýÈ磬µ±½«NUMBERֵת»»ÎªcharÀàÐÍʱ£¬Ó¦¸Ã½«L[i]ÅäÖÃΪ¾«¶È¼Ó¶þ£¨Ò²¼´Êý×ÖλÊý+·ûºÅλ+СÊýµã£©£»¶øµ±½«NUMBERֵת»»ÎªfloatÀàÐÍʱ£¬Ó¦¸Ã½«L[i]ÅäÖÃΪ¸¡µãÊýµÄ³¤¶È¡£

¶ÔÓÚ°ó¶¨ÃèÊöÇøÀ´Ëµ£¬ÔÚÖ´ÐÐOPENÃüÁîǰ±ØÐëÅäÖñäÁ¿L¡£ÀýÈ磬ÎÒÃÇÄܹ»Í¨¹ýʹÓú¯Êýstrlen()»ñµÃ°ó¶¨±äÁ¿×Ö·û´®µÄ³¤¶È£¬¶ûºó½«±äÁ¿LÅäÖÃΪ¸Ã³¤¶ÈÖµ¡£ ¡¤±äÁ¿T£º

±äÁ¿TÊÇÖ¸Ïò²éѯÁбíÖµ»ò°ó¶¨±äÁ¿ÖµµÄÊý¾ÝÀàÐÍ´úÂëÊý×éµÄÖ¸Õ룬ÕâЩÊý×éÀàÐÍ´úÂëÈ·¶¨ÁËÈçºÎ½øÐÐÊý¾ÝÀàÐÍת»»¡£

ÏÂÃæÁгöÁËOracleÄÚ²¿Êý¾ÝÀàÐÍËù¶ÔÓ¦µÄ´úÂ룺 OracleÄÚ²¿Êý¾ÝÀàÐÍ Êý¾ÝÀàÐÍ´úÂë VARCHAR2 1 NUMBER 2 LONG 8 ROWID 11 DATE 12 RAW 23 LONG ROW 24

CHARTER£¨»òVHAR£© 96 MISLABLE 106

ÏÂÃæÁгöÁËOracleÍⲿÊý¾ÝÀàÐÍËù¶ÔÓ¦µÄ´úÂëÁ¬Í¬CÊý¾ÝÀàÐÍ£º OracleÄÚ²¿Êý¾ÝÀàÐÍ Êý¾ÝÀàÐÍ´úÂë CÊý¾ÝÀàÐÍ VARCHAR2 1 char[n] NUMBER 2 char[n](n 22) INTEGER 3 int

FLOAT 4 float

STRING 5 Float char[n+1] VARNUM 6 char[n](n 22) DECIMAL 7 float LONG 8 char[n] VARCHAR 9 char[n+2] ROWID 11 char[n] DATE 12 char[n] VARRAW 15 char[n] RAW 23 unsigned Char[n] LONG RAW 24 unsigned Char[n] UNSIGNED 68 unsigned int DISPLAY 91 char[n]

LONG VARCHAR 94 char[n+4] LONG VARRAW 95 unsigned char[n+4] CHARTER£¨»òVHAR£© 96 char[n] MISLABLE 106 char[n]

¶ÔÓÚ²éѯÃèÊöÇøÀ´Ëµ£¬DESCRIBESELECT LIST ÃüÁOracleÄÚ²¿Êý¾ÝÀàÐÍËù¶ÔÓ¦µÄ´úÂë·µ»Øµ½ÁËÊý¾ÝÀàÐÍ´úÂëÊý×éÖС£ÔÚʹÓÃFETCHÃüÁî¼ìË÷Êý¾Ýʱ£¬Oracle»á×Ô¶¯ÔÚÄÚ²¿ºÍÍⲿÊý¾ÝÀàÐÍ¼ä½øÐÐת»»£¬µ«¶ÔÓÚÓÐЩÊý¾ÝÀàÐÍÔÚÖ´ÐÐFETCHÃüÁîǰ¾ÍÐèÒª½øÐÐÊý¾ÝÀàÐÍת»»¡£¶ÔÓÚ×Ö·ûÊý¾ÝÀ´Ëµ£¬±È½ÏÈÝÒ×´¦Àí£¬µ«ÊÇÓÐЩÀàÐ͵ÄÊý¾Ý´¦ÀíÆðÀ´¿ÉÄܱȽÏÀ§ÄÑ£¬´Ëʱ¾ÍÐèÒªÖØÐÂÅäÖÃTµÄÔªËØÁË¡£ÀýÈ磬½«NUMBERµÄÖµÖØÖÃΪFLOAT»òINT¡£

T[i]µÄ¸ßλ´æ´¢×ŵÚi¸ö²éѯÁбíÏîµÄNULLNOTNULL״̬ÐÅÏ¢¡£ÔÚÖ´ÐÐOPEN»òFETCHÃüÁîǰ±ØÐëÇå³ý¸Ã룬ÕâÄܹ»Í¨¹ýµ÷Óú¯Êýsqlnul()À´Íê³É¡£º¯Êýsqlnul()µÄÓï·¨ÈçÏ£º Sqlnul(unsigned short *value_type,unsigned short *type_code,int*null_status)£» ²ÎÊý˵Ã÷ÈçÏ£º

¡¤values_type:Ö¸ÏòÎÞ·ûºÅ¶ÌÕûÊý±äÁ¿µÄÖ¸Õ룬¸Ã±äÁ¿´æ´¢×ŲéѯÁбíÏîµÄÊý¾Ý´úÂëÀàÐÍ£¬¶øÊý¾ÝÀàÐÍ´æ´¢ÔÚT[i]ÖС£

¡¤type_code£ºÖ¸ÏòÎÞ·ûºÅ¶ÌÕûÊý±äÁ¿µÄÖ¸Õ룬¸Ã±äÁ¿·µ»ØÁ˲éѯÁбíÏîµÄÊý¾ÝÀàÐÍ´úÂë¡£

¡¤null_status£ºÖ¸ÏòÕûÊý±äÁ¿µÄÖ¸Õ룬¸Ã±äÁ¿·µ»ØÁ˲éѯÁбíÏîµÄNULLNOT NULL״̬¡£ÆäÖУ¬1±íʾÔÊÐí¸ÃÁÐΪ¿Õ£¬¶ø0±íʾ²»ÔÊÐí¸ÃÁÐΪ¿Õ¡£

¶ÔÓÚ°ó¶¨ÃèÊöÇøÀ´Ëµ£¬DESCRIBEBIND VARIABLESÃüÁÊý¾ÝÀàÐÍ´úÂëÊý×éÅäÖÃΪ0¡£ÔÚÖ´ÐÐOPENÃüÁîǰ±ØÐëÅäÖô洢ÔÚÿ¸öÔªËØÖеÄÊý¾ÝÀàÐÍ´úÂ룬¸Ã´úÂë±íʾÁËV[i]ËùÖ¸ÏòµÄÊý¾Ý»º³åÇøÖÐÊý¾ÝµÄÍⲿ

´æ´¢ÀàÐÍ¡£Ò»°ãÇé¿öÏ£¬°ó¶¨±äÁ¿Öµ¶¼±»´æ´¢ÔÚ×Ö·û´®ÖУ¬ËùÒÔÊý¾ÝÀàÐÍÊý×éÔªËØ¾ù±»ÅäÖÃΪ1£¨VARCHAR2µÄÊý¾ÝÀàÐÍ´úÂ룩£¬µ±È»Ò²¿ÉʹÓÃÊý¾ÝÀàÐÍ´úÂë5£¨STRING£©¡£ ¡¤±äÁ¿I:

±äÁ¿IÊÇÖ¸ÏòÊý¾Ý»º³åÇøµØÖ·Êý×éµÄÖ¸Õ룬ÔÚ¸ÃÊý¾Ý»º³åÇøÖд洢×Åָʾ±äÁ¿Öµ¡£

¶ÔÓÚ²éѯÃèÊöÇøÀ´Ëµ£¬ÔÚÖ´ÐÐFETCHÃüÁîǰ¡£µ±Ö´ÐÐEXEC SQL FETCH¡­USINGDESCRIPTOR¡­Óï¾äʱ£¬¼ÙÈçµÚi¸ö²éѯÁбíֵΪNULL£¬ÄÇôI[i]ËùÖ¸ÏòµÄָʾ±äÁ¿Öµ±»ÅäÖÃΪ-1£¬·ñÔò±»ÖÃΪ0£¨±íʾֵΪNOT NULL£©»òÕýÕûÊý£¨±íʾֵ±»½Ø¶Ï£©¡£

¶ÔÓÚ°ó¶¨ÃèÊöÇøÀ´Ëµ£¬ÔÚÖ´ÐÐÃüÁîǰ±ØÐëΪ±äÁ¿I·ÖÅäÄÚ´æ¡£µ±Ö´ÐÐEXECSQL OPEN¡­USING DESCRIPTOR¡­Óï¾äʱ£¬I[i]ËùÖ¸ÏòµÄÊý¾Ý»º³åÇøÄܹ»È·¶¨µÚi¸ö°ó¶¨±äÁ¿ÊÇ·ñÓÐNULLÖµ¡£¼ÙÈç±äÁ¿ÖµÎª-1£¬ÔòÏàÓ¦µÄ°ó¶¨±äÁ¿ÖµÎªNULL¡£ ¡¤±äÁ¿F£º

±äÁ¿FÊÇÖ´ÐÐÁËDESCRIBEÃüÁîËùÕÒµ½µÄ²éѯÁбíÏî»òռλ·ûµÄʵ¼ÊλÊý¡£¼ÙÈç±äÁ¿FµÄֵСÓÚ0£¬Ôò±íʾÕÒµ½µÄ²éѯÁбíÏî»òռλ·û¸öÊýÌ«¶à£¬³¬³öÁËÃèÊöÇø³ß´ç¡£ ¡¤±äÁ¿S£º

±äÁ¿SÊÇÖ¸ÏòÊý¾Ý»º³åÇøµØÖ·Êý×éµÄÖ¸Õ룬ÔÚ¸ÃÊý¾Ý»º³åÇøÖд洢×ŲéѯÁбíÏî»òռλ·ûµÄÃû³Æ¡£ ÔÚÖ´ÐÐÁËDESCRIBEÃüÁîºó£¬µÚi¸ö²éѯÁбíÏî»òռλ·ûµÄÃû³Æ±»±£´æµ½S[i-1]ËùÖ¸ÏòµÄÊý¾Ý»º³åÇøÖС£

¡¤±äÁ¿C£º

±äÁ¿CÊÇÖ¸ÏòÊý×éµÄÖ¸Õ룬¸ÃÊý×é±£´æ×ŲéѯÁбíÏî»òռλ·ûÃû³ÆµÄµ±Ç°³¤¶È¡£

ÔÚÖ´ÐÐÁËDESCRIBEÃüÁîºó£¬ÔªËØC[0]µ½C[N-1]±»ÅäÖÃΪÿ¸ö²éѯÁбíÏî»òռλ·ûÃû³ÆµÄʵ¼Ê×Ö·û¸öÊý¡£

ÔÚSQLDAÖиüÓÐÆäËû¼¸¸ö±äÁ¿£¬°üÀ¨±äÁ¿M¡¢±äÁ¿X¡¢±äÁ¿Y¡¢±äÁ¿Z£¬ÒòÆä×÷ÓÃÔÚ³ÌʽÖÐÏà¶Ô´ÎÒª£¬ÕâÀï²»×÷½éÉÜ¡£ [Ŀ¼]

-------------------------------------------------------------------------------- ±àÒëºÍÁ´½Ó

ÔÚÏµÍ³ÌØ¶¨µÄOracleÎĵµÄھ߱¸¹ØÓÚÈçºÎ±àÒëºÍÁ´½ÓPro*C/C++Ó¦ÓóÌʽµÄÖ¸ÁÔÚUNIXϵͳÖÐÓÐÒ»¸ömakeÎĵµ£¬ÔÚdemoĿ¼ÖгÆÎªproc.mk¡£Ö´Ðд˳Ìʽ¼´¿É·½±ãµØÍê³ÉÈçÏÂÁ½ÏÄÜ£º ¡¤½«ÄÚǶSQLºÍPL/SQLת»»Îª¶ÔOracleÔËÐпâµÄµ÷Óã¬Í¬Ê±Éú³Éת»»ºóµÄC»òC ++Ô´´úÂë¡£ ¡¤¾­¹ý±àÒëºÍÁ´½ÓÉú³É¿ÉÖ´ÐгÌʽ¡£

Ö´ÐбàÒëºÍÁ´½ÓʱÔÚUNIXÃüÁîÐÐÖÐÊäÈëÃüÁ make ¨Cf proc.mk [Ô´³ÌʽÃû]

¼´¿É½«ºó׺Ϊ.pcµÄÔ´Îĵµ±àÒëΪºó׺Ϊ.exeµÄ¿ÉÖ´ÐÐÎĵµ¡£


ProC.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ
ËÑË÷¸ü¶à¹ØÓÚ£º ProC µÄÎĵµ
Ïà¹ØÍÆ¼ö
Ïà¹ØÔĶÁ
¡Á ÓοͿì½ÝÏÂÔØÍ¨µÀ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩

ÏÂÔØ±¾ÎĵµÐèÒªÖ§¸¶ 10 Ôª

Ö§¸¶·½Ê½£º

¿ªÍ¨VIP°üÔ»áÔ± ÌØ¼Û£º29Ôª/ÔÂ

×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£ºxuecool-com QQ£º370150219