📄 accses.pc
字号:
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <sqlca.h>#pragma pack (push,1)char accses(short int opertype,unsigned char *contractid,unsigned int currencyend,unsigned int *accountbalance);int main(){ int oper_type=5; unsigned char contract_id[20]="0000005147896900"; unsigned int currency=10000; char resp_type=88; unsigned int accountbalance=88; printf("+++++++++++:%d\n",accountbalance); printf("+++++++++++:%d\n",resp_type); resp_type=accses(oper_type,contract_id,currency,&accountbalance); printf("+++++++++++:%d\n",accountbalance); printf("+++++++++++:%d\n",resp_type); }char accses(short int opertype,unsigned char *contractid,unsigned int currencyend,unsigned int *accountbalance){ exec sql begin declare section;/*连接数据库的变量*/ unsigned char phonenum[21]="###"; /*用户的号线*/ unsigned char username[10]="djm1";/*连接的数据库名*/ unsigned char passwd[30]="djm1"; /*连接的数据库密码*/ unsigned char server[100]="myoracle"; /*连接数据库的服务名*/ unsigned char contract_id[21]=""; unsigned int currency=0; unsigned int account_balance=0; int resp_type=0; exec sql end declare section; memcpy(&contract_id,contractid,20); currency=currencyend; //account_balance=*accountbalance; EXEC SQL DECLARE DB2 DATABASE; EXEC SQL AT DB2 CONNECT :username IDENTIFIED BY :passwd USING :server; if(sqlca.sqlcode==0) printf("OK!!connect to database SUCCESS!!!!!!\n"); else printf("%.*s\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc); switch(opertype) { case 1: EXEC SQL EXECUTE BEGIN tem_plusvalue(:contract_id,:currency,:account_balance,:resp_type); END; END-EXEC; printf("%.*s\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc); printf("+++++++++++:%s\n",contract_id); break; case 3: EXEC SQL EXECUTE BEGIN tem_minusvalue(:contract_id,:currency,:account_balance,:resp_type); END; END-EXEC; printf("%.*s\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc); break; case 5: EXEC SQL EXECUTE BEGIN tem_inquiry(:contract_id,:account_balance,:resp_type); END; END-EXEC; printf("%.*s\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc); break; default: printf("WRONG OPERA_TYPE %d\n",opertype); break; } *accountbalance=account_balance; printf("+++++++++++:%d\n",account_balance); return resp_type;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -