home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 May / PCWorld_1999-05_cd.bin / software / Vyzkuste / inprise / INTRBASE_55 / EXAMPLES / API / STAT2.E < prev    next >
Text File  |  1998-10-18  |  1KB  |  75 lines

  1. /*
  2.  *  Program type:   Embedded Static SQL
  3.  *
  4.  *  Description:
  5.  *        This program demonstrates a singleton select.
  6.  *        A full name and phone number are displayed for
  7.  *        the CEO of the company.
  8.  */
  9.  
  10. #include "example.h"
  11. #include <stdlib.h>
  12. #include <stdio.h>
  13.  
  14. #define    FIRSTLEN    15
  15. #define    LASTLEN        20
  16. #define EXTLEN        4
  17. #define DEPTNO        3
  18. #define PHONELEN    20
  19.  
  20. EXEC SQL
  21.     BEGIN DECLARE SECTION;
  22. EXEC SQL
  23.     END DECLARE SECTION;
  24.  
  25.  
  26. int main PROTO((void))
  27. {
  28.     char first[FIRSTLEN + 1];
  29.     char last[LASTLEN + 1];
  30.     char ext[EXTLEN + 1];
  31.     char phone[PHONELEN + 1];
  32.     char dept[DEPTNO + 1];
  33.  
  34.     /*
  35.      *  Assume there's only one CEO.
  36.      *  Select the name and phone extension.
  37.      */
  38.     EXEC SQL
  39.         SELECT first_name, last_name, phone_ext, dept_no
  40.         INTO :first, :last, :ext, :dept
  41.         FROM employee
  42.         WHERE job_code = 'CEO';
  43.  
  44.     /* Check the SQLCODE to make sure only 1 row was selected. */
  45.     if (SQLCODE)
  46.     {
  47.         isc_print_sqlerror((short)SQLCODE, gds__status);
  48.         exit(1);
  49.     }
  50.  
  51.     /*
  52.      *  Also, select the department phone number.
  53.      */
  54.  
  55.     EXEC SQL
  56.         SELECT phone_no
  57.         INTO :phone
  58.         FROM department
  59.         WHERE dept_no = :dept;
  60.  
  61.     if (SQLCODE)
  62.     {
  63.         isc_print_sqlerror((short)SQLCODE, gds__status);
  64.         exit(1);
  65.     }
  66.  
  67.     printf("President:  %s %s\t\t", first, last);
  68.     printf("Phone #:  %s  x%s\n", phone, ext);
  69.  
  70.     EXEC SQL
  71.         COMMIT RELEASE;
  72. exit(0);
  73. }
  74.  
  75.