Embedded SQL Example

The following code is a simple embedded SQL program, written in C. The program illustrates many, but not all, of the embedded SQL techniques. The program prompts the user for an order number, retrieves the customer number, salesperson, and status of the order, and displays them on the screen.

main()
{
 EXEC SQL INCLUDE SQLCA;
 EXEC SQL BEGIN DECLARE SECTION;
  int OrderID;   /* Employee ID (from user)   */
  int CustID;    /* Retrieved customer ID   */
  char  SalesPerson[10]  /* Retrieved salesperson name */
  char  Status[6]    /* Retrieved order status  */
 EXEC SQL END DECLARE SECTION;

 /* Set up error processing */
 EXEC SQL WHENEVER SQLERROR GOTO query_error; 
 EXEC SQL WHENEVER NOT FOUND GOTO bad_number;

 /* Prompt the user for order number */
 printf ("Enter order number: ");
 scanf("%d", &OrderID);

 /* Execute the SQL query */
 EXEC SQL SELECT CustID, SalesPerson, Status
    FROM Orders
    WHERE OrderID = :OrderID
    INTO :CustID, :SalesPerson, :Status;

 /* Display the results */
 printf ("Customer number:  %d\n", CustID);
 printf ("Salesperson: %s\n", SalesPerson);
 printf ("Status: %s\n", Status);
 exit();

query_error:
 printf ("SQL error: %ld\n", SQLCA.SQLCODE);
 exit();

bad_number:
 printf ("Invalid order number.\n");
 exit();
}

Note the following about this program: