📄 dbtestresu.cpp
字号:
#include "DBTestResu.h"
#include "TestContent.h"
#include "SysClock.h"
SHORT DBTestResu::m_iNewNum = -1;
SHORT DBTestResu::m_iTotalNum = -1;
SHORT DBTestResu::GetRecCnt()
{
if (-1 == m_iTotalNum)
{
m_iTotalNum = DBOpersBase::GetRecCnt ();
}
return m_iTotalNum;
}
//overland DelRec, only for count the number of recorder.
Err DBTestResu::DelRec(
//##Documentation
//## 记录ID号
SHORT iRecID)
{
if (SUC == DBOpersBase::DelRec (iRecID))
{
--m_iTotalNum;
return SUC;
}
return ERR_DB;
}
CHAR* DBTestResu::GetTableName()
{
return "DBTestResu";
}
UWORD DBTestResu::GetFieldCnt()
{
return FIELD_COUNT;
}
BOOLEAN DBTestResu::IsFull()
{
if (GetRecCnt() >= DBTestResu::MAX_REC_COUNT)
return TRUE;
else return FALSE;
}
SHORT DBTestResu::AddTestRec(TestContent *pTestContent, SysTime *SendTime)
{
EMDB_RECORD Fields[FIELD_COUNT];
for (UWORD i = IS_NEW; i < FIELD_COUNT; i++)
Fields[i].FieldIndex = i;
Fields[IS_NEW].val.bl = TRUE;//IsNew
SysTime RecvTime;
SysClock::GetInstance()->GetLocalTime(&RecvTime);
Fields[RECV_TIME].val.c = (CHAR*) &RecvTime;//local receive time
Fields[CONTENT].val.c = (CHAR*) pTestContent->m_strContent;//content
Fields[SEND_TIME].val.c = (CHAR*) &SendTime;//server send time
SHORT idNewRec = GetRecCnt();
if (SUC == AddRec((EMDB_RECORD*)&Fields))
{
++m_iNewNum;
++m_iTotalNum;
return idNewRec;
}
else
return -1;
}
SHORT DBTestResu::GetNewCnt()
{
SHORT i;
SHORT iCount = 0;
BOOLEAN isNew = FALSE;
if (-1 == m_iNewNum)
{
for (i = 0; i < GetRecCnt(); i++)
{
GetIsNewFlag(i, &isNew);
if (isNew)
iCount++;
}
m_iNewNum = iCount;
}
return m_iNewNum;
}
Err DBTestResu::SetIsNewFlag(SHORT iRecID, BOOLEAN isNew)
{
EMDB_RECORD FieldIsNew;
FieldIsNew.FieldIndex = IS_NEW;
FieldIsNew.val.bl = (UBYTE) isNew;
if (SUC == SetFields(iRecID, &FieldIsNew, 1))
{
if (!isNew)
{
--m_iNewNum;
}
return SUC;
}
return -1;
}
Err DBTestResu::GetIsNewFlag(SHORT iRecID, BOOLEAN *isNew)
{
EMDB_RECORD FieldIsNew;
FieldIsNew.FieldIndex = IS_NEW;
Err Result =
GetField(iRecID, &FieldIsNew);
if (SUC == Result)
*isNew = (BOOLEAN) FieldIsNew.val.bl;
return Result;
}
Err DBTestResu::GetRecvTime(SHORT iRecID, CHAR* pszTime)
{
EMDB_RECORD FieldRecvTime;
SysTime RecvTime;
FieldRecvTime.FieldIndex = RECV_TIME;
FieldRecvTime.val.c = (CHAR*) &RecvTime;
Err RetVal = GetField(iRecID, &FieldRecvTime);
RecvTime.ToString(pszTime);
return RetVal;
}
Err DBTestResu::GetContent(SHORT iRecID, TestContent *pTestContent)
{
EMDB_RECORD FieldContent;
FieldContent.FieldIndex = CONTENT;
FieldContent.val.c = (CHAR*)pTestContent->m_strContent;
return GetField(iRecID, &FieldContent);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -