����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/*
* Program type: Embedded Static SQL
*
* Description:
* This program utilizes the event mechanism for processing
* newly entered sales orders. It initializes an event called
* "new_order", and then loops waiting for and processing new
* orders as they come in.
*
* When a new sales order is entered, a trigger defined in the
* database posts the "new_order" event. When the program is
* notified of the event, it opens the cursor for selecting all
* orders with status "new". For each fetched order, a transaction
* is started, which changes the order status from "new" to "open
* and takes some action to initiate order processing. After all
* the new orders (if there were more than one) are processed, it
* goes back to waiting for new orders.
*
* To trigger the event, while running this program, run stat12t.
* The contents of this file are subject to the Interbase Public
* License Version 1.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy
* of the License at http://www.Inprise.com/IPL.html
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
* or implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code was created by Inprise Corporation
* and its predecessors. Portions created by Inprise Corporation are
* Copyright (C) Inprise Corporation.
*
* All Rights Reserved.
* Contributor(s): ______________________________________.
*/
#include "example.h"
#include <stdlib.h>
int process_order (char *);
EXEC SQL
BEGIN DECLARE SECTION;
EXEC SQL
SET DATABASE empdb = "employee.fdb";
long *t1;
long *t2;
EXEC SQL
END DECLARE SECTION;
int main(int argc, char** argv)
{
int ret = 0;
BASED_ON sales.po_number pon;
EXEC SQL
WHENEVER SQLERROR GO TO Error;
EXEC SQL
CONNECT empdb;
/* Go with read committed to see updates */
EXEC SQL
SET TRANSACTION READ COMMITTED;
EXEC SQL
DECLARE get_order CURSOR FOR
SELECT po_number
FROM sales
WHERE order_status = "new"
FOR UPDATE OF order_status;
EXEC SQL
EVENT INIT order_wait empdb ("new_order");
while (!ret)
{
printf("\nStat 12 Waiting ...\n\n");
EXEC SQL
EVENT WAIT order_wait;
EXEC SQL
OPEN get_order;
for (;;)
{
EXEC SQL
FETCH get_order INTO :pon;
if (SQLCODE == 100)
break;
EXEC SQL
UPDATE sales
SET order_status = "open"
WHERE CURRENT OF get_order;
ret = process_order(pon);
}
EXEC SQL
CLOSE get_order;
}
EXEC SQL
COMMIT;
EXEC SQL
DISCONNECT empdb;
exit(0);
Error:
isc_print_sqlerror(SQLCODE, gds__status);
exit(1);
}
/*
* Initiate order processing for a newly received sales order.
*/
int process_order(char* pon)
{
/*
* This function would start a back-ground job, such as
* sending the new orders to the printer, or generating
* e-mail messages to the appropriate departments.
*/
printf("Stat12: Received order: %s\n", pon);
if (!strncmp(pon, "VNEW4", 5))
{
printf ("Stat12: exiting\n");
return 1;
}
return 0;
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| stat1.e | File | 2.11 KB | 0644 |
|
| stat10.e | File | 3.82 KB | 0644 |
|
| stat11.e | File | 3.69 KB | 0644 |
|
| stat12.e | File | 3.09 KB | 0644 |
|
| stat12t.e | File | 2.08 KB | 0644 |
|
| stat2.e | File | 1.99 KB | 0644 |
|
| stat3.e | File | 2.44 KB | 0644 |
|
| stat4.e | File | 3.42 KB | 0644 |
|
| stat5.e | File | 2.75 KB | 0644 |
|
| stat6.e | File | 2.64 KB | 0644 |
|
| stat7.e | File | 2.48 KB | 0644 |
|
| stat8.e | File | 3.17 KB | 0644 |
|
| stat9.e | File | 3.45 KB | 0644 |
|