⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cscdr.cpp

📁 Mysql的处理
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		Unlock();		onError();		return -2;	}	Unlock();	return 0;}int C_MYSQL::DbCSCDRSelect(char* pInSzTableName, char* pWhere, struct S_CSCDR_LOAD** pOutCDR, int *number, struct S_RESULT* pOut){	char szMsg[512];	char GtpName[LEN_TABLENAME + 1];	char GtpId[LEN_SEQ + 1];		char SeqId[LEN_SEQ + 1];	int FlagRead;	int FlagRepeat;	int FlagR499;	int NetworkInitiatedPDPContext;	int SystemType;	char ServedIMSI[17];	char ServedIMEI[17];	char ServedMSISDN[LEN_ServedMSISDN+1];	char SGSNIPAddress[46];	char MSNetworkCapability[LEN_MSNetworkCapability+1];	char RoutingAreaCode[9];	char LocationAreaCode[17];	char ChargingID[11];	char GGSNAddress[46];	char AccessPointNameNI[64];	int APNSelectionMode;	char PDPTypeNumber[9];	char ServedPDPAddress[46];	char RecordOpenTime[LEN_DATETIME + 1];	int SGSNChange;	char CauseForRecClosing[3];	char Diagnostics[LEN_Diagnostics+1];	char RecordSequenceNumber[11];	char NodeID[21];	char LocalRecordSequeceNumnber[11];	char AccessPointNameOI[38];	char UnsentDownlinkVolume[11];	char ChargingCharacteristics[LEN_ChargingCharacteristics+1];	int DynamicAddressFlag;	/* CAMEL Information*/	char SCFAddress[LEN_SCFAddress+1];	char ServiceKey[LEN_ServiceKey+1];	int DefaultTransacHandling;	char CAMELAPNNI[64];	char CAMELAPNOI[38];	char NumberOfDPEncounter[11];	char LevelOfCamelService[4];	char FreeFormatData[161];	int FFDAppendIndicator;	int DefaultSMSHandling;	char CAMELCallingPartyNumber[15];	char CAMELAccessDestinationSubNumber[44];	char CAMELSMSAdress[21];	char SmsReferenceNumber[9];	char ConsolidationResult[3];	char ChargingCharacterSelectionMode;	/* stamp */	char DateCreated[LEN_DATETIME + 1];	char GsnId[11];	char CallDuration[12+1];		char RecordExtensions[LEN_RecordExtensions+1];	char CellIdentity[25];	int AnonyAccessIndicator;	struct S_CSCDR_LOAD *pLCLOC = *pOutCDR;	int nNumber = 0;	char szSQL[SQLMAX];	char szSQL2[SQLMAX];	struct S_CSCDR_LOAD* p2;	int j;	char * sz ;	short id[54];	*number = 0;	if(pLCLOC != NULL)	{		return -1;	}	snprintf(szSQL2, SQLMAX, 		"SELECT COUNT(*) FROM %s WHERE %s",		pInSzTableName, pWhere);	snprintf(szSQL, SQLMAX, 		"SELECT ""SEQID,""FLAGREAD,""FLAGREPEAT,""FLAGR499,""NETWORKINITIATEDPDPCONTEXT,""SERVEDIMSI,""SERVEDIMEI,""SGSNIPADDRESS,""MSNNETWORKCAPABILITY,""ROUTINGAREACODE,""LOCATIONAREACODE,""CELLIDENTITY," "CHARGINGID,""GGSNADDRESS,""ACCESSPOINTNAMENI,""PDPTYPENUMBER,""SERVEDPDPADDRESS,""DATE_FORMAT(RECORDOPENTIME,'%%Y%%m%%d%%H%%i%%s'),""CALLDURATION,""SGSNCHANGE,""CAUSEFORRECCLOSING,""DIAGNOSITICS,""RECORDSEQUENCENUMBER,""NODEID,""RECORDEXTENSIONS,""LOCALRECORDSEQUECENUMBER,""APNSELECTIONMODE,""ACCESSPOINTNAMEOI,""SERVEDMSISDN,""CHARGINGCHARACTERISTICS,""SYSTEMTYPE,""UNSENTDOWNLINKVOLUMN,""CONSOLIDATIONRESULT,""CHARGINGCHARACTERSELECTIONMODE,""DYNAMICADDRESSFLAG,""SCFADDRESS,""SERVICEKEY,""DEFAULTTRANSACHANDLING,""CAMELAPNNI,""CAMELAPNOI,""NUMBEROFDPENCOUNTER,""LEVELOFCAMELSERVICE,""FREEFORMATDATA,""FFDAPPENDINDICATOR,""DEFAULTSMSHANDLING,""CAMELCALLINGPARTYNUMBER,""CAMELACCESSDESTNO,""CAMELSMSADDRESS,""SMSREFERENCENUMBER,""ANONYACCESSINDICATOR,""DATE_FORMAT(DATECREATED,'%%Y%%m%%d%%H%%i%%s'),""GSNID"		" FROM %s WHERE %s",		pInSzTableName, pWhere);#ifdef _DEBUG#ifdef LOG_SELECT	logOra(sErrLog, szSQL);#endif#endif	Lock();	nNumber=DbCount(szSQL2,myConnect);	if(nNumber <= 0)	{		Unlock();		* number = 0;		return 0;	}	sz = (char *)malloc(SIZE_S_CSCDR_LOAD*nNumber);	memset(sz, 0, SIZE_S_CSCDR_LOAD*nNumber);	mysql_real_query(myConnect, szSQL, strlen(szSQL));	MYSQL_RES *res_ptr = mysql_store_result(myConnect);	if (res_ptr == NULL) 	{		Unlock();		onError();		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_CSCDR_LOAD*)&sz[SIZE_S_CSCDR_LOAD*j];	if (sqlrow[2] != NULL) p2->FlagRepeat=atoi(sqlrow[2]);	if (sqlrow[3] != NULL) p2->FlagR499=atoi(sqlrow[3]);	if (sqlrow[4] != NULL) p2->NetworkInitiatedPDPContext=atoi(sqlrow[4]);	if (sqlrow[30] != NULL) p2->SystemType=atoi(sqlrow[30]);	if (sqlrow[5] != NULL) memcpy(p2->ServedIMSI,sqlrow[5],16);	if (sqlrow[6] != NULL) memcpy(p2->ServedIMEI,sqlrow[6],16);	if (sqlrow[28] != NULL) memcpy(p2->ServedMSISDN,sqlrow[28],LEN_ServedMSISDN);	if (sqlrow[7] != NULL) memcpy(p2->SGSNIPAddress,sqlrow[7],45);	if (sqlrow[8] != NULL) memcpy(p2->MSNetworkCapability,sqlrow[8],LEN_MSNetworkCapability);	if (sqlrow[9] != NULL) memcpy(p2->RoutingAreaCode,sqlrow[9],8);	if (sqlrow[10] != NULL) memcpy(p2->LocationAreaCode,sqlrow[10],16);	if (sqlrow[12] != NULL) memcpy(p2->ChargingID,sqlrow[12],10);	if (sqlrow[13] != NULL) memcpy(p2->GGSNAddress,sqlrow[13],45);	if (sqlrow[14] != NULL) memcpy(p2->AccessPointNameNI,sqlrow[14],63);	if (sqlrow[26] != NULL) p2->APNSelectionMode=atoi(sqlrow[26]);	if (sqlrow[15] != NULL) memcpy(p2->PDPTypeNumber,sqlrow[15],8);	if (sqlrow[16] != NULL) memcpy(p2->ServedPDPAddress,sqlrow[16],45);    if (sqlrow[17] != NULL) memcpy(p2->RecordOpenTime,sqlrow[17],LEN_DATETIME);	if (sqlrow[19] != NULL) p2->SGSNChange=atoi(sqlrow[19]);	if (sqlrow[20] != NULL) memcpy(p2->CauseForRecClosing,sqlrow[20],3);	if (sqlrow[21] != NULL) memcpy(p2->Diagnostics,sqlrow[21],LEN_Diagnostics);	if (sqlrow[22] != NULL) memcpy(p2->RecordSequenceNumber,sqlrow[22],11);	if (sqlrow[23] != NULL) memcpy(p2->NodeID,sqlrow[23],20);	if (sqlrow[25] != NULL) memcpy(p2->LocalRecordSequeceNumnber,sqlrow[25],11);	if (sqlrow[27] != NULL) memcpy(p2->AccessPointNameOI,sqlrow[27],37);	if (sqlrow[31] != NULL) memcpy(p2->UnsentDownlinkVolume,sqlrow[31],10);	if (sqlrow[29] != NULL) memcpy(p2->ChargingCharacteristics,sqlrow[29],LEN_ChargingCharacteristics);	if (sqlrow[34] != NULL) p2->DynamicAddressFlag=atoi(sqlrow[34]);		if (sqlrow[32] != NULL) memcpy(p2->ConsolidationResult,sqlrow[32],2);	if (sqlrow[33] != NULL) p2->ChargingCharacterSelectionMode=atoi(sqlrow[33]);	if (sqlrow[50] != NULL) memcpy(p2->DateCreated,sqlrow[50],LEN_DATETIME);	if (sqlrow[51] != NULL) memcpy(p2->GsnId,sqlrow[51],10);	if (sqlrow[35] != NULL) memcpy(p2->SCFAddress,sqlrow[35],LEN_SCFAddress+1);	if (sqlrow[36] != NULL) memcpy(p2->ServiceKey,sqlrow[36],LEN_ServiceKey);	if (sqlrow[37] != NULL) p2->DefaultTransacHandling=atoi(sqlrow[37]);	if (sqlrow[38] != NULL) memcpy(p2->CAMELAPNNI,sqlrow[38],63);	if (sqlrow[39] != NULL) memcpy(p2->CAMELAPNOI,sqlrow[39],37);	if (sqlrow[40] != NULL) memcpy(p2->NumberOfDPEncounter,sqlrow[40],11);	if (sqlrow[41] != NULL) memcpy(p2->LevelOfCamelService,sqlrow[41],3);	if (sqlrow[42] != NULL) memcpy(p2->FreeFormatData,sqlrow[42],160);	if (sqlrow[43] != NULL) p2->FFDAppendIndicator=atoi(sqlrow[43]);	if (sqlrow[44] != NULL) p2->DefaultSMSHandling=atoi(sqlrow[44]);	if (sqlrow[45] != NULL) memcpy(p2->CAMELCallingPartyNumber,sqlrow[45],14);	if (sqlrow[46] != NULL) memcpy(p2->CAMELAccessDestinationSubNumber,sqlrow[46],43);	if (sqlrow[47] != NULL) memcpy(p2->CAMELSMSAdress,sqlrow[47],20);	if (sqlrow[48] != NULL) memcpy(p2->SmsReferenceNumber,sqlrow[48],8);	if (sqlrow[0] != NULL) memcpy(p2->SeqId,sqlrow[0],20);	if (sqlrow[1] != NULL) p2->FlagRead=atoi(sqlrow[1]);	if (sqlrow[18] != NULL) memcpy(p2->CallDuration,sqlrow[18],12);if (sqlrow[24] != NULL) memcpy(p2->RecordExtensions,sqlrow[24],LEN_RecordExtensions);if (sqlrow[11] != NULL) memcpy(p2->CellIdentity,sqlrow[11],24);if (sqlrow[49] != NULL) p2->AnonyAccessIndicator = atoi(sqlrow[49]);		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));		*/	//	printf("%s\n", p2->SeqId);	}		* pOutCDR = (struct S_CSCDR_LOAD*)sz;	* number = nNumber;		mysql_free_result(res_ptr);		if (mysql_errno(myConnect)) 	{		Unlock();		onError();		return -1;	}		Unlock();	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -