?? ogtpl.cpp
字號:
#include "oradb.h"#include "Base64.h"void C_MYSQL::DbGTPTest(){ S_GTPL pIn; S_RESULT pOut; memset(&pIn,0,sizeof(pIn)); pIn.CgType=10; memcpy(pIn.Content,"11111111111111111111111111111111111111", 12); snprintf(pIn.TableName, LEN_TABLENAME+1, "OGTPL"); pIn.RecordType=100; pIn.ContentLength=20; pIn.FlagCancel=1; pIn.PeerIp=0xffffffff; pIn.PeerSeqId=88333333; memcpy(pIn.GsnId,"11111111111111111111111111111111111111", 12); memcpy(pIn.GsnId,"3333333", 12); DbGTPInsert(&pIn, &pOut);}int C_MYSQL::DbGTPInsert(struct S_GTPL* pIn, struct S_RESULT* pOut){ char szMsg[512]; char szSQL[SQLMAX]; int i=0; char SeqId[LEN_SEQ + 1]; char TableName2[LEN_TABLENAME + 1]; int nRecordType=pIn->RecordType; char *szContent=(char *)pIn->Content; int nContentLength=pIn->ContentLength; int nFlagCancel=pIn->FlagCancel; char *szGsnId=(char *)pIn->GsnId; char *TableName=(char *)pIn->TableName; unsigned int PeerIp=pIn->PeerIp; unsigned int PeerSeqId=pIn->PeerSeqId; int nCgType=pIn->CgType; snprintf(szSQL, SQLMAX, "INSERT INTO %s (" "RECORDTYPE,CONTENT,CONTENTLENGTH,FLAGCANCEL," "DATECREATE,GSNID,PEERIP,PEERSEQID,CGTYPE) VALUES(" "%d,'%s',%d,%d," "NOW(),%s,%u,%u,%d)", TableName, nRecordType,szContent,nContentLength,nFlagCancel, szGsnId[0]==0?"NULL":szGsnId,PeerIp,PeerSeqId, nCgType); #ifdef _DEBUG logOra(sErrLog, szSQL);#endif int res = mysql_real_query(myConnect, szSQL, strlen(szSQL)); Lock(); if(res != 0) { Unlock(); onError(); return -1; } Unlock(); return 0;}int C_MYSQL::DbGTPSelect(char* pInSzTableName, char* szInSeqId, int* RecordType, char* szOutContent, char* szOutSeqId, int* nPeerIp, int *nFlagCancel){ char szMsg[512]; char TableName[LEN_TABLENAME + 1]; int nRecordType; int nContentLength; int nFlagCancel2; unsigned int nPeeIp2; char szSQL[SQLMAX]; short id; snprintf(szSQL, SQLMAX, "SELECT SEQID,CONTENT,RECORDTYPE,PEERIP,FLAGCANCEL " "FROM %s WHERE SEQID>'%s'", pInSzTableName, szInSeqId); if(myConnect == NULL) { logOra(sErrLog, "database link break" ); return -1; }#ifdef _DEBUG// logOra(sErrLog, szSQL);#endif int res = mysql_real_query(myConnect, szSQL, strlen(szSQL)); if(res != 0) { Unlock(); onError(); return -1; } MYSQL_RES *res_ptr = mysql_store_result(myConnect); if (res_ptr == NULL) { Unlock(); onError(); return -1; } int num = mysql_num_rows(res_ptr); if(num <= 0) { Unlock();// printf("no data\n"); return -2; } MYSQL_ROW sqlrow; sqlrow = mysql_fetch_row(res_ptr); if(sqlrow[0] != NULL) memcpy(szOutSeqId, sqlrow[0], LEN_SEQ); if(sqlrow[1] != NULL) memcpy(szOutContent, sqlrow[1], 4000); if(sqlrow[2] != NULL) *RecordType = atoi(sqlrow[2]); if(sqlrow[3] != NULL) *nPeerIp = atoi(sqlrow[3]); if(sqlrow[4] != NULL) *nFlagCancel = atoi(sqlrow[4]); mysql_free_result(res_ptr); if (mysql_errno(myConnect)) { Unlock(); onError(); return -1; } Unlock(); return 0;}int C_MYSQL::DbGTPCount(char* pInSzTableName, long inIPeerIp, long inIPeerSeqId, long *nOutCount){ char szSQL[SQLMAX]; snprintf(szSQL, SQLMAX, "SELECT COUNT(*) " "FROM %s WHERE PEERIP='%u' AND PEERSEQID='%u'", pInSzTableName, (unsigned long)inIPeerIp, (unsigned long)inIPeerSeqId);#ifdef _DEBUG logOra(sErrLog, szSQL);#endif *nOutCount = 0; Lock(); *nOutCount = DbCount(szSQL,myConnect); Unlock(); return 0;}int C_MYSQL::DbGTPSelect2(long inIPeerIp, long inIPeerSeqId, char *pInSzTableName, int *nRecordType, char *szOutContent, char *szOutSeqId){ char szMsg[512]; char TableName[LEN_TABLENAME + 1]; int nRecordType2; char szOutContent2[4000]; char szOutSeqId2[LEN_SEQ]; char szSQL[SQLMAX]; short id; snprintf(szSQL, SQLMAX, "SELECT RECORDTYPE,SEQID,CONTENT " "FROM %s WHERE PEERIP='%u' AND PEERSEQID='%u' ORDER BY SEQID DESC", pInSzTableName, (unsigned long)inIPeerIp, (unsigned long)inIPeerSeqId);#ifdef _DEBUG// logOra(sErrLog, szSQL);#endif int res = mysql_real_query(myConnect, szSQL, strlen(szSQL)); if(res != 0) { Unlock(); onError(); return -1; } MYSQL_RES *res_ptr = mysql_store_result(myConnect); if (res_ptr == NULL) { Unlock(); onError(); return -1; } int num = mysql_num_rows(res_ptr); if(num <= 0) { Unlock(); // printf("no data\n"); return -2; } MYSQL_ROW sqlrow; sqlrow = mysql_fetch_row(res_ptr); if(sqlrow[0] != NULL) *nRecordType = atoi(sqlrow[0]); if(sqlrow[1] != NULL) memcpy(szOutSeqId, sqlrow[1], LEN_SEQ); if(sqlrow[2] != NULL) memcpy(szOutContent, sqlrow[2], 4000); 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 + -