?? omocdr.cpp
字號:
char GtpId[LEN_SEQ + 1]; int FlagRead; int FlagRepeat; int FlagR499; char ServedIMSI[17]; char ServedIMEI[17]; char ServedMSISDN[LEN_ServedMSISDN+1]; char MSNetworkCapability[LEN_MSNetworkCapability+1]; char RoutingAreaCode[9]; char LocationAreaCode[17]; char CellIdentity[25]; /*int ChargingID;*/ char ServiceCenter[21]; char RecordingEntity[21]; char EventStampTime[LEN_DATETIME + 1]; char SystemType; char MessageReference[256]; char SMSResult; char NodeID[21]; char ChargingCharacteristics[LEN_ChargingCharacteristics+1]; char LocalRecordSequeceNumnber[11]; char DestinationNumber[44]; /* CAMEL Information*/ char SCFAddress[LEN_SCFAddress+1]; char ServiceKey[11]; char DefaultTransacHandling; char CAMELAPNNI[64]; char CAMELAPNOI[38]; char NumberOfDPEncounter[11]; char LevelOfCamelService[4]; char FreeFormatData[161]; char FFDAppendIndicator; char DefaultSMSHandling; char CAMELCallingPartyNumber[15]; char CAMELAccessDestinationSubNumber[44]; char CAMELSMSAdress[21]; char SmsReferenceNumber[9]; char DateCreated[LEN_DATETIME + 1]; char GsnId[11]; char RecordExtensions[LEN_RecordExtensions+1]; int ChargingCharacterSelectionMode; char GsnIpAddr[LEN_IpAddr+1]; /* result */ struct S_OMOCDR *pOMOCDR=*pOutCDR ; int nNumber = 0; char szMsg[512]; char szSQL[SQLMAX]; char szSQL2[SQLMAX]; char szSQL3[SQLMAX]; struct S_OMOCDR* p2; int j; char * sz ; *nItems=0; if(pOMOCDR != NULL) { return -1; } snprintf(szSQL2, SQLMAX, "SELECT COUNT(*) FROM %s WHERE %s", pInSzTableName,pWhere); snprintf(szSQL,SQLMAX,"SELECT ""SEQID,""FLAGREAD,""GTPID,""GTPLTABLE,""MERGEID,""MERGETABLE,""FLAGREPEAT,""FLAGR499,""SERVEDIMSI,""SERVEDIMEI,""SERVEDMSISDN,""MSNNETWORKCAPABILITY,""SERVICECENTER,""RECORDINGENTITY,""LOCATIONAREACODE,""ROUTINGAREACODE,""CELLIDENTITY,""MESSAGEREFRENCE,""EVENTSTAMPTIME,""SMSRESULT,""RECORDEXTENSIONS,""NODEID,""LOCALRECORDSEQUECENUMBER,""CHARGINGCHARACTERISTICS,""SYSTEMTYPE,""DESTINATIONNUNMBER,""CHARGINGCHARACTERSELECTIONMODE,""SCFADDRESS,""SERVICEKEY,""DEFAULTTRANSACHANDLING,""CAMELAPNNI,""CAMELAPNOI,""NUMBEROFDPENCOUNTER,""LEVELOFCAMELSERVICE,""FREEFORMATDATA,""FFDAPPENDINDICATOR,""DEFAULTSMSHANDLING,""CAMELCALLINGPARTYNUMBER,""CAMELACCESSDESTNO,""CAMELSMSADDRESS,""SMSREFERENCENUMBER,""DATE_FORMAT(DATECREATED,'%%Y%%m%%d%%H%%i%%s'),""GSNID,""GSNIPADDR"" FROM %s WHERE %s",pInSzTableName,pWhere); #ifdef _DEBUG#ifdef LOG_SELECT logOra(sErrLog, szSQL);#endif#endif nNumber=DbCount(szSQL2,myConnect); if(nNumber <= 0) { Unlock(); * nItems = 0; return 0; } sz = (char *)malloc(SIZE_S_OMOCDR*nNumber); memset(sz, 0, SIZE_S_OMOCDR*nNumber); mysql_real_query(myConnect, szSQL, strlen(szSQL)); MYSQL_RES *res_ptr = mysql_store_result(myConnect); if (res_ptr == NULL) { return -1; } MYSQL_ROW sqlrow;#ifdef _DEBUG logOra(sErrLog, "CURSOR...");#endif for(j=0;j<nNumber;j++) { sqlrow = mysql_fetch_row(res_ptr); p2 = (struct S_OMOCDR*)&sz[SIZE_S_OMOCDR*j];// p2->RecordType=RecordType; if (sqlrow[0] != NULL) memcpy(p2->SeqId,sqlrow[0],LEN_SEQ); if (sqlrow[2] != NULL) memcpy(p2->GtpId,sqlrow[2],LEN_SEQ); // memcpy(p2->GtpName,GtpName,LEN_TABLENAME); if (sqlrow[7] != NULL) p2->FlagR499=atoi(sqlrow[7]); if (sqlrow[8] != NULL) memcpy(p2->ServedIMSI,sqlrow[8],17); if (sqlrow[9] != NULL) memcpy(p2->ServedIMEI,sqlrow[9],17); if (sqlrow[10] != NULL) memcpy(p2->ServedMSISDN,sqlrow[10],LEN_ServedMSISDN); if (sqlrow[11] != NULL) memcpy(p2->MSNetworkCapability,sqlrow[11],LEN_MSNetworkCapability); if (sqlrow[12] != NULL) memcpy(p2->ServiceCenter,sqlrow[12],21); if (sqlrow[15] != NULL) memcpy(p2->RoutingAreaCode,sqlrow[15],9); if (sqlrow[14] != NULL) memcpy(p2->LocationAreaCode,sqlrow[14],17); if (sqlrow[18] != NULL) memcpy(p2->EventStampTime,sqlrow[18],LEN_DATETIME); if (sqlrow[19] != NULL) p2->SMSResult=atoi(sqlrow[19]); if (sqlrow[21] != NULL) memcpy(p2->NodeID,sqlrow[21],21); if (sqlrow[22] != NULL) memcpy(p2->LocalRecordSequeceNumnber,sqlrow[22],11); if (sqlrow[23] != NULL) memcpy(p2->ChargingCharacteristics,sqlrow[23],LEN_ChargingCharacteristics); if (sqlrow[24] != NULL) p2->SystemType=atoi(sqlrow[24]); if (sqlrow[25] != NULL) memcpy(p2->DestinationNumber,sqlrow[25],25); if (sqlrow[27] != NULL) memcpy(p2->SCFAddress,sqlrow[27],LEN_SCFAddress+1); if (sqlrow[28] != NULL) memcpy(p2->ServiceKey,sqlrow[28],10); if (sqlrow[29] != NULL) p2->DefaultTransacHandling=atoi(sqlrow[29]); if (sqlrow[33] != NULL) memcpy(p2->LevelOfCamelService,sqlrow[33],4); if (sqlrow[34] != NULL) memcpy(p2->FreeFormatData,sqlrow[34],161); if (sqlrow[35] != NULL) p2->FFDAppendIndicator=atoi(sqlrow[35]); if (sqlrow[36] != NULL) p2->DefaultSMSHandling=atoi(sqlrow[36]); if (sqlrow[37] != NULL) memcpy(p2->CAMELCallingPartyNumber,sqlrow[37],15); if (sqlrow[38] != NULL) memcpy(p2->CAMELAccessDestinationSubNumber,sqlrow[38],44); if (sqlrow[39] != NULL) memcpy(p2->CAMELSMSAdress,sqlrow[39],21); if (sqlrow[40] != NULL) memcpy(p2->SmsReferenceNumber,sqlrow[40],9); if (sqlrow[41] != NULL) memcpy(p2->DateCreated,sqlrow[41],LEN_DATETIME); if (sqlrow[42] != NULL) memcpy(p2->GsnId,sqlrow[42],11); if (sqlrow[1] != NULL) p2->FlagRead=atoi(sqlrow[1]); if (sqlrow[13] != NULL) memcpy(p2->RecordingEntity,sqlrow[13],20); if (sqlrow[17] != NULL) memcpy(p2->MessageReference,sqlrow[17],255);if (sqlrow[20] != NULL) memcpy(p2->RecordExtensions,sqlrow[20],LEN_RecordExtensions);if (sqlrow[26] != NULL) p2->ChargingCharacterSelectionMode=atoi(sqlrow[26]);if (sqlrow[16] != NULL) memcpy(p2->CellIdentity,sqlrow[16],24); if (sqlrow[43] != NULL) memcpy(p2->GsnIpAddr,sqlrow[43],LEN_IpAddr); if (pInSzTableName != NULL) memcpy(p2->TableName, pInSzTableName, LEN_TABLENAME); snprintf(szSQL3, SQLMAX, "UPDATE %s SET FLAGREAD=1 WHERE SEQID='%s'", p2->TableName, p2->SeqId); mysql_real_query(myConnect, szSQL3, strlen(szSQL3));// EXEC SQL EXECUTE IMMEDIATE :szSQL3; } * pOutCDR = (struct S_OMOCDR*)sz; * nItems = nNumber; mysql_free_result(res_ptr); if (mysql_errno(myConnect)) { Unlock(); return -1; } Unlock(); return 0;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -