home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0210 - 0219 / ibm0210-0219 / ibm0213.tar / ibm0213 / 7025PWA1.ZIP / SAMPLES.ZIP / SQLLIB / SAMPLES / WIN / DBMMOD.SQC < prev    next >
Encoding:
Text File  |  1994-02-28  |  2.4 KB  |  105 lines

  1. #include "windows.h"
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <malloc.h>
  5. #include <sql_.h>
  6. #include <sqlda_.h>
  7. #include <sqlca_.h>
  8. #include <sqlenv_.h>
  9. #include <sqlutil_.h>
  10. #include <sqlcode_.h>
  11. #include "WINMOD.h"
  12. #include "cpconv.h"
  13. #include "dbmmod.h"
  14.  
  15. short FAR PASCAL sqlxcatd( unsigned char far *dbname,
  16.                            unsigned char far *alias,
  17.                            unsigned char type,
  18.                            unsigned char far *nodename,
  19.                            char adapter,
  20.                            unsigned char far *comment,
  21.                            short codepage,
  22.                            struct sqlca far *ca
  23.                          )
  24. {
  25.    short rc=0;
  26.  
  27.    if ( sqlecatd( dbname,  alias,   type,     nodename,
  28.                   adapter, comment, codepage, ca        ) )
  29.       rc = BAD_SQLCA;
  30.  
  31.    return( rc );
  32. }
  33.  
  34.  
  35. short FAR PASCAL sqlxuncd( unsigned char far *dbname, struct sqlca far *ca )
  36. {
  37.    short rc=0;
  38.  
  39.    if ( sqleuncd( dbname, ca ) )
  40.       rc = BAD_SQLCA;
  41.  
  42.    return( rc );
  43. }
  44.  
  45.  
  46. short FAR PASCAL sqlStart( char far *dbname, struct sqlca far *ca )
  47. {
  48.    short rc=0;
  49.  
  50.    if ( sqlestrd( dbname, SQL_USE_SHR, ca ) )      /* zero is success */
  51.       rc = BAD_SQLCA;
  52.  
  53.    return( rc );
  54. }
  55.  
  56. short FAR PASCAL sqlStop( struct sqlca far *ca )
  57. {
  58.    short rc=0;
  59.  
  60.    if ( sqlestpd( ca ) )                         /* zero is success */
  61.       rc = BAD_SQLCA;
  62.  
  63.    return( rc );
  64. }
  65.  
  66. short FAR PASCAL sqlQuery( char far * request, char far *result,
  67.                            struct sqlca far *ca )
  68. {
  69.    struct sqlca sqlca;
  70.    short rc;
  71.  
  72.    EXEC SQL BEGIN DECLARE SECTION;
  73.       char table_name[19], (*tname)[19];
  74.    EXEC SQL END DECLARE SECTION;
  75.  
  76.    if ( (tname=malloc(TNAME_SZ)) == (char *)0 )
  77.       rc = ALLOC_ERR;
  78.    else {
  79.  
  80.       strcpy( (char *)tname, request );
  81.       if ( ! (rc=cp_appl_to_db( (char *)tname )) ) {
  82.  
  83.          EXEC SQL
  84.             SELECT name INTO :table_name
  85.                FROM sysibm.systables WHERE name = :*tname;
  86.  
  87.          free( tname );
  88.          memcpy( ca, &sqlca, sizeof( struct sqlca ) );
  89.  
  90.          if ( ! SQLCODE )
  91.             if ( ! (rc=cp_db_to_appl( table_name )) )
  92.                strcpy( result, table_name );
  93.  
  94.       }
  95.    }
  96.    return( rc );
  97. }
  98.  
  99.  
  100. short FAR PASCAL sqlxintp( char far *buffer, int bsiz, int lwid,
  101.                          struct sqlca far *ca )
  102. {
  103.   return( sqlaintp( buffer, bsiz, lwid, ca ) );
  104. }
  105.