📄 dbinterface.cpp
字号:
CS_CHAR PARAM1[80];
CS_CHAR PARAM2[160];
CS_CHAR PARAM3[250];
}Ontime;
exec sql end declare section;
memcpy(&Ontime,pOntime,sizeof(Ontime));
exec sql insert into SapDB.dbo.gsm_ontime (ACCOUNT, SERVICEID, CALLED,CONTENT,SRVPARAM,SENDTIME,CURSRVDT,STARTDT,STOPDT,/*REGISTDT,*/REGIDX,CONTENTTYPE,CALLEDTYPE,SRVTIMES,TIMESLIMIT,RESENDCOUNT,REGSRC,PARAM1,PARAM2,PARAM3) values (:Ontime.ACCOUNT, :Ontime.SERVICEID, :Ontime.CALLED,:Ontime.CONTENT,:Ontime.SRVPARAM,:Ontime.SENDTIME,:Ontime.CURSRVDT,:Ontime.STARTDT,:Ontime.STOPDT,/*:Ontime.REGISTDT,*/:Ontime.REGIDX,:Ontime.CONTENTTYPE,:Ontime.CALLEDTYPE,:Ontime.SRVTIMES,:Ontime.TIMESLIMIT,:Ontime.RESENDCOUNT,:Ontime.REGSRC,:Ontime.PARAM1,:Ontime.PARAM2,:Ontime.PARAM3);
if(0!=sqlca.sqlcode)
return sqlca.sqlcode;
exec sql commit work;
return sqlca.sqlcode;
}
exec sql declare ReadGSMOntime cursor for select * from SapDB.dbo.gsm_ontime;
int ReadGSMOntime(GSMOntime* pOntime, int isFromBegin,int id)
{
exec sql begin declare section;
struct _GSMOntime
{
CS_CHAR ACCOUNT[30];
CS_CHAR SERVICEID[30];
CS_CHAR CALLED[250];
CS_CHAR CONTENT[250];
CS_CHAR SRVPARAM[250];
CS_CHAR SENDTIME[250];
CS_CHAR CURSRVDT[19];
CS_CHAR STARTDT[19];
CS_CHAR STOPDT[19];
CS_CHAR REGISTDT[19];
CS_INT REGIDX;
CS_INT CONTENTTYPE;
CS_INT CALLEDTYPE;
CS_INT SRVTIMES;
CS_INT TIMESLIMIT;
CS_INT RESENDCOUNT;
CS_CHAR REGSRC[30];
CS_CHAR PARAM1[80];
CS_CHAR PARAM2[160];
CS_CHAR PARAM3[250];
}Ontime;
exec sql end declare section;
if(0 != isFromBegin)
{
exec sql close ReadGSMOntime;
exec sql open ReadGSMOntime;
if(sqlca.sqlcode < 0) return sqlca.sqlcode;
}
memset(&Ontime, 0, sizeof(Ontime));
exec sql fetch ReadGSMOntime into :Ontime.ACCOUNT, :Ontime.SERVICEID, :Ontime.CALLED,:Ontime.CONTENT,:Ontime.SRVPARAM,:Ontime.SENDTIME,:Ontime.CURSRVDT,:Ontime.STARTDT,:Ontime.STOPDT,:Ontime.REGISTDT,:Ontime.REGIDX,:Ontime.CONTENTTYPE,:Ontime.CALLEDTYPE,:Ontime.SRVTIMES,:Ontime.TIMESLIMIT,:Ontime.RESENDCOUNT,:Ontime.REGSRC,:Ontime.PARAM1,:Ontime.PARAM2,:Ontime.PARAM3;
if(sqlca.sqlcode < 0) return sqlca.sqlcode;
if(sqlca.sqlcode == 0)
{
memcpy(pOntime,&Ontime,sizeof(*pOntime));
return 1;
}
else if(sqlca.sqlcode == 100)
{
/*exec sql close ReadGSMOntime;*/
/*exec sql delete from SapDB.dbo.gsm_ontime;*/
/*exec sql commit work;*/
return 0;
}
return sqlca.sqlcode;
}
exec sql declare LPGSMRECV cursor for select top 16 * from SapDB.dbo.gsm_recv ORDER BY ser desc;
int ReadGSMRecvTable(LPGSMRECV pNums, int isFromBegin, int id)
{
exec sql begin declare section;
struct _GSMRECV
{
CS_CHAR wdt[20]; /*//-- 0,插入时间*************************/
CS_CHAR gwdt[20]; /*//-- 1,网关启动时间*********************/
CS_INT port_com; /*//-- 接收端口(Modem)********************/
CS_INT mtype; /*//-- 信息类型***************************/
CS_INT portr; /*//-- 接收端口号*************************/
CS_CHAR dtr[20]; /*//-- 接收时间***************************/
CS_CHAR tel[22]; /*//-- 源手机号码*************************/
CS_CHAR ser[22]; /*//-- 序列号*****************************/
CS_INT count_snd; /*//-- 已发送次数*************************/
CS_INT ports; /*//-- 提交端口***************************/
CS_CHAR act[22]; /*//-- 发送者帐号信息*********************/
CS_INT stype; /*//-- 发送类型:0-普通信息,1-PUSH信息***/
CS_CHAR sser[22]; /*//-- 发送序列号*************************/
CS_CHAR mess[200]; /*//-- 接收内容***************************/
CS_INT test; /*//-- 测试标记,0-正常,1-测试*************/
} GsmRecv;
exec sql end declare section;
if(0 != isFromBegin)
{
exec sql close LPGSMRECV;
exec sql open LPGSMRECV;
if(sqlca.sqlcode < 0) return sqlca.sqlcode;
}
memset(&GsmRecv, 0, sizeof(GsmRecv));
exec sql fetch LPGSMRECV into :GsmRecv.wdt,:GsmRecv.gwdt,:GsmRecv.port_com,:GsmRecv.mtype,:GsmRecv.portr,:GsmRecv.dtr,:GsmRecv.tel,:GsmRecv.ser,:GsmRecv.count_snd,:GsmRecv.ports,:GsmRecv.act,:GsmRecv.stype,:GsmRecv.sser,:GsmRecv.mess,:GsmRecv.test;
if(sqlca.sqlcode < 0) return sqlca.sqlcode;
if(sqlca.sqlcode == 0)
{
memcpy(pNums,&GsmRecv,sizeof(*pNums));
return 1;
}
else if(sqlca.sqlcode == 100)
{
/*exec sql close LPGSMRECV;*/
return 0;
}
return sqlca.sqlcode;
}
int WriteGSMRecvTable(LPGSMRECV pNums)
{
exec sql begin declare section;
struct _GSMRECV
{
CS_CHAR wdt[20]; /*//-- 0,插入时间*************************/
CS_CHAR gwdt[20]; /*//-- 1,网关启动时间*********************/
CS_INT port_com; /*//-- 接收端口(Modem)********************/
CS_INT mtype; /*//-- 信息类型***************************/
CS_INT portr; /*//-- 接收端口号*************************/
CS_CHAR dtr[20]; /*//-- 接收时间***************************/
CS_CHAR tel[22]; /*//-- 源手机号码*************************/
CS_CHAR ser[22]; /*//-- 序列号*****************************/
CS_INT count_snd; /*//-- 已发送次数*************************/
CS_INT ports; /*//-- 提交端口***************************/
CS_CHAR act[22]; /*//-- 发送者帐号信息*********************/
CS_INT stype; /*//-- 发送类型:0-普通信息,1-PUSH信息***/
CS_CHAR sser[22]; /*//-- 发送序列号*************************/
CS_CHAR mess[200]; /*//-- 接收内容***************************/
CS_INT test; /*//-- 测试标记,0-正常,1-测试*************/
} GsmRecv;
exec sql end declare section;
if(pNums)memcpy(&GsmRecv,pNums,sizeof(GsmRecv));
exec sql insert into SapDB.dbo.gsm_recv values (:GsmRecv.wdt,:GsmRecv.gwdt,:GsmRecv.port_com,:GsmRecv.mtype,:GsmRecv.portr,:GsmRecv.dtr,:GsmRecv.tel,:GsmRecv.ser,:GsmRecv.count_snd,:GsmRecv.ports,:GsmRecv.act,:GsmRecv.stype,:GsmRecv.sser,:GsmRecv.mess,:GsmRecv.test);
if(0!=sqlca.sqlcode)
return sqlca.sqlcode;
exec sql commit work;
return sqlca.sqlcode;
}
int WriteTest(AlarmsTable *test1)
{
exec sql begin declare section;
struct _AlarmsTable
{
CS_CHAR Time[32];
CS_INT AlarmCode;
CS_CHAR Info[256];
} TAlarms;
exec sql end declare section;
sprintf(TAlarms.Time,"%s %s",__DATE__, __TIME__);
TAlarms.AlarmCode=1;
memcpy(TAlarms.Info,"Test12342fsdf",14);
if(test1)memcpy(&TAlarms,test1,sizeof(TAlarms));
exec sql insert into SapDB.dbo.TBL_Alarms(Time,AlarmCode,Info) values (:TAlarms.Time,:TAlarms.AlarmCode,:TAlarms.Info);
if(0!=sqlca.sqlcode)
return sqlca.sqlcode;
exec sql commit work;
return sqlca.sqlcode;
}
int WriteStrategyTable(void *test1)
{
exec sql begin declare section;
struct _SendStrategy
{
CS_INT InfoType;
CS_TINYINT AlarmMode;
CS_INT DelayTime;
CS_INT DelayCount;
CS_CHAR MSISDN_AlarmList[128];
} Strategy;
exec sql end declare section;
memset(&Strategy,0,sizeof(Strategy));
Strategy.InfoType=1;
memcpy(Strategy.MSISDN_AlarmList,"13798790145",12);
Strategy.AlarmMode=0;
Strategy.DelayTime=100;
if(test1)memcpy(&Strategy,test1,sizeof(Strategy));
exec sql insert into SapDB.dbo.TBL_SMSendStrategy(InfoType,AlarmMode,DelayTime,DelayCount,MSISDN_AlarmList) values (:Strategy.InfoType,:Strategy.AlarmMode,:Strategy.DelayTime,:Strategy.DelayCount,:Strategy.MSISDN_AlarmList);
if(0!=sqlca.sqlcode)
return sqlca.sqlcode;
exec sql commit work;
return sqlca.sqlcode;
}
int WriteRealtimeStatus(RealTimeStatus * pTimeStatus)
{
exec sql begin declare section;
struct _RealTimeStatus
{
CS_CHAR UpdateTime[32];
CS_CHAR NEname[64];
CS_INT NEid;
CS_INT NEavailability;
CS_FLOAT NEcpu;
CS_FLOAT NEram;
CS_FLOAT NEhd;
}TimeStatus;
exec sql end declare section;
memcpy(&TimeStatus,pTimeStatus,sizeof(TimeStatus));
TimeStatus.NEcpu=pTimeStatus->NEcpu;
TimeStatus.NEhd=pTimeStatus->NEhd;
TimeStatus.NEram=pTimeStatus->NEram;
exec sql update SapDB.dbo.TBL_RealtimeStatus set UpdateTime=:TimeStatus.UpdateTime,NEavailability=:TimeStatus.NEavailability,NEcpu=:TimeStatus.NEcpu,NEram=:TimeStatus.NEram,NEhd=:TimeStatus.NEhd where NEname=:TimeStatus.NEname and NEid=:TimeStatus.NEid;
if(0!=sqlca.sqlcode)
return sqlca.sqlcode;
exec sql commit work;
return sqlca.sqlcode;
}
void CommitWork()
{
exec sql commit work;
}
int DeleteTable()
{
/* exec sql delete from SapDB.dbo.TBL_Alarms;*/
/* exec sql commit work;*/
/* exec sql delete from SapDB.dbo.gsm_recv;*/
/* exec sql commit work;*/
/* exec sql delete from SapDB.dbo.gsm_ontime;*/
/* exec sql commit work;*/
exec sql TRUNCATE TABLE SapDB.dbo.gsm_recv;
exec sql commit work;
}
/*
int writeMonitorRecord(stMonitorRecord *pMr)
{
exec sql begin declare section;
static struct _stMonitorRecord
{
CS_CHAR Time[32];
CS_CHAR LoginName[20];
CS_TINYINT Result;
CS_TINYINT Cause;
CS_CHAR ListeningParty[24];
CS_CHAR MonitoredParty[24];
CS_TINYINT Role;
CS_INT Duration;
CS_INT ResourceNo;
CS_TINYINT ResourceType;
CS_CHAR OtherParty[24];
} mnrec;
exec sql end declare section;
memcpy(&mnrec, pMr, sizeof(struct _stMonitorRecord));
exec sql insert into SapDB.dbo.TBL_MonitorCondition (Time, LoginName, Result, Cause, ListeningParty, MonitoredParty, Role, Duration, ResourceNo, ResourceType, OtherParty) values (:mnrec.Time, :mnrec.LoginName, :mnrec.Result, :mnrec.Cause, :mnrec.ListeningParty, :mnrec.MonitoredParty, :mnrec.Role, :mnrec.Duration, :mnrec.ResourceNo, :mnrec.ResourceType, :mnrec.OtherParty);
exec sql commit work;
return sqlca.sqlcode;
}
*/
/*
int main()
{
int i;
strcpy(username,"sybase");
strcpy(passwd,"joyitjoyit");
strcpy(servname,"SYBASE");
exec sql connect :username identified by :passwd using :servname;
printf("connect:%d\n",sqlca.sqlcode);
exec sql execute immediate "drop table testtab";
printf("drop table testtab:%d\n",sqlca.sqlcode);
exec sql execute immediate "create table testtab(a varchar(128) null,b numeric(18,2) null)";
printf("create table testtab:%d\n",sqlca.sqlcode);
exec sql prepare sqlsa from "insert into testtab(a,b) values(?,?)";
printf("prepare:%d\n",sqlca.sqlcode);
for(i = 0;i < 10;i ++){
sprintf((char *)a.str,"%02d",i);
a.len = 2;
b = (i * 100.0 + i) / 100.0;
exec sql execute sqlsa using :a,:b;
printf("%d\n",sqlca.sqlcode);
}
exec sql commit work;
exec sql prepare sqlsa from "select a,b from testtab where a < ?";
exec sql declare cn cursor for sqlsa;
exec sql open cn using "05";
while(1){
memset(a.str,sizeof(a.str),0);
exec sql fetch cn into :a,:b;
if(sqlca.sqlcode != 0){
break;
}
a.str[a.len] = 0;
printf("%s,%18.2f\n",(char *)a.str,b);
}
exec sql commit work;
exec sql close cn;
exec sql disconnect all;
return 0;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -