📄 dbclass.pc
字号:
#define SQLCA_STORAGE_CLASS extern
EXEC SQL INCLUDE ora_context.pch;
#include <system.hpp>
#include <mem.h>
#include <sys\types.h>
#include <time.h>
#include "GlobalVar.h"
//#include "GlobalFunctions.h"
#include "dbclass.h"
CDbClass::CDbClass(char* classname,int threadid):ora_context(classname,threadid)
{
}
int CDbClass::CONVERT_DB_CONNECT(char* user,char* pwd,char* con)
{
char db_connect_log[100];
convert_error_flag = 0;
int ret = conn_db(user,pwd,con);
if(ret == 0)
{
sprintf(db_connect_log,"数据库连接成功");
DisplayConvertInGUI(db_connect_log);
errorlogwrite(convert_log_name,db_connect_log);
convert_Connected_Database = DATABASE_STATUS_CONNECTED;
return 0;
}
else
{
sprintf(db_connect_log,"数据库连接失败" );
DisplayConvertInGUI(db_connect_log);
errorlogwrite(convert_log_name,db_connect_log);
return -1;
}
}
int CDbClass::CONVERT_DB_CONNECT()
{
char db_connect_log[100];
char convert_user[20];
char convert_passwd[20];
char convert_conn[20];
convert_error_flag = 0;
memset(convert_user,0,sizeof(convert_user));
memset(convert_passwd,0,sizeof(convert_passwd));
memset(convert_conn,0,sizeof(convert_conn));
char cIniFile[256];
GetCurrentDirectory(256,cIniFile);
strcat(cIniFile,VNSMS_INI_FILE);
GetPrivateProfileString("Database","db_user","vnsms",convert_user,20,cIniFile);
GetPrivateProfileString("Database","db_pwd","vnsms133",convert_passwd,20,cIniFile);
GetPrivateProfileString("Database","db_sid","vnsms",convert_conn,20,cIniFile);
int ret = conn_db(convert_user,convert_passwd,convert_conn);
if(ret == 0)
{
sprintf(db_connect_log,"数据库连接成功");
DisplayConvertInGUI(db_connect_log);
errorlogwrite(convert_log_name,db_connect_log);
convert_Connected_Database = DATABASE_STATUS_CONNECTED;
return 0;
}
else
{
sprintf(db_connect_log,"数据库连接失败" );
DisplayConvertInGUI(db_connect_log);
errorlogwrite(convert_log_name,db_connect_log);
return -1;
}
}
int CDbClass::convert_Discont_db()
{
EXEC SQL CONTEXT USE :m_context;
EXEC SQL WHENEVER SQLERROR CONTINUE;
EXEC SQL COMMIT WORK RELEASE;
if (convert_Connected_Database == DATABASE_STATUS_CONNECTED) {
char db_disconnect[200];
memset(db_disconnect,0,sizeof(db_disconnect));
sprintf(db_disconnect,"Convert Oracle Disconnect");
DisplayConvertInGUI(db_disconnect);
}
convert_Connected_Database = DATABASE_STATUS_DISCONNECTED;
return 0;
}
void CDbClass::convert_sql_error()
{
on_error();
}
int CDbClass::InsertIntoRoarMsg(char* time1,char* time2)
{
EXEC SQL BEGIN DECLARE SECTION;
char temp1[3000][7];
char temp2[3000][7];
char temp3[3000][7];
char temp4[3000][7];
char temp5[3000][7];
char temp6[3000][7];
char temp7[3000][7];
char temp8[3000][7];
char temp9[3000][7];
char temp10[3000][7];
char temp11[3000][7];
char temp12[3000][7];
char temp13[3000][7];
char temp14[3000][7];
char temp15[3000][7];
char temp16[3000][7];
char temp17[3000][7];
char temp18[3000][7];
char temp19[3000][7];
char temp20[3000][7];
char temp21[3000][7];
char temp22[3000][7];
int rec_count;
EXEC SQL END DECLARE SECTION;
EXEC SQL CONTEXT USE :m_context;
EXEC SQL WHENEVER SQLERROR DO convert_sql_error();
EXEC SQL WHENEVER NOT FOUND goto error;
Randomize();
int j;
char p[7];
for (int i=0;i<3000;i++) {
j = random(50000);
itoa(j,p,10);
strcpy(temp1[i],p);
strcpy(temp2[i],p);
strcpy(temp3[i],p);
strcpy(temp4[i],p);
strcpy(temp5[i],p);
strcpy(temp6[i],p);
strcpy(temp7[i],p);
strcpy(temp8[i],p);
strcpy(temp9[i],p);
strcpy(temp10[i],p);
strcpy(temp11[i],p);
strcpy(temp12[i],p);
strcpy(temp13[i],p);
strcpy(temp14[i],p);
strcpy(temp15[i],p);
strcpy(temp16[i],p);
strcpy(temp17[i],p);
strcpy(temp18[i],p);
strcpy(temp19[i],p);
strcpy(temp20[i],p);
strcpy(temp21[i],p);
strcpy(temp22[i],p);
}
rec_count = 3000;
time_t t;
time(&t);
struct tm *tblock = localtime(&t);
strftime(time1, 20, "%Y%m%d %H%M%S", tblock);
convert_error_flag = 0;
EXEC SQL for :rec_count Insert into ROAR_MSG(MSG_ID,NLEN,BDCSID,WSTARTYEAR,BSTARTMON,BSTARTDAY,START_TIME,SPC_TYPE,OPC,DPC,CALLING_SSN,CALLED_SSN,CALLING_GT,CALLED_GT,IMSI,MSISDN,HLR,VLR,OPERATE_CODE,ERROR,RESP_TIME,STATUS)
VALUES(:temp1,:temp2,:temp3,:temp4,:temp5,:temp6,:temp7,:temp8,:temp9,:temp10,:temp11,:temp12,:temp13,:temp14,:temp15,:temp16,:temp17,:temp18,:temp19,:temp20,:temp21,:temp22);
if(convert_error_flag == -1)
{
return -1;
}
EXEC SQL COMMIT;
time(&t);
tblock = localtime(&t);
strftime(time2, 20, "%Y%m%d %H%M%S", tblock);
return 0;
error:
EXEC SQL ROLLBACK;
char str[255]="********插入roar_msg表不成功*******:";
strcat(str,"\n");
DisplayConvertInGUI(str);
return -1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -