📄 dbassign.cpp
字号:
#include "DBAssign.h"
#include "AssignContent.h"
#include "SysClock.h"
SHORT DBAssign::m_iNewNum = -1;
SHORT DBAssign::m_iTotalNum = -1;
SHORT DBAssign::GetRecCnt()
{
if (-1 == m_iTotalNum)
{
m_iTotalNum = DBOpersBase::GetRecCnt ();
}
return m_iTotalNum;
}
//overland DelRec, only for count the number of recorder.
Err DBAssign::DelRec(
//##Documentation
//## 记录ID号
SHORT iRecID)
{
if (SUC == DBOpersBase::DelRec (iRecID))
{
--m_iTotalNum;
return SUC;
}
return ERR_DB;
}
CHAR* DBAssign::GetTableName()
{
return "DBAssign";
}
UWORD DBAssign::GetFieldCnt()
{
return FIELD_COUNT;
}
//##ModelId=3D65E7100137
BOOLEAN DBAssign::IsFull()
{
if (GetRecCnt() >= DBAssign::MAX_REC_COUNT)
return TRUE;
else return FALSE;
}
SHORT DBAssign::AddAssignRec(AssignContent *pAssignContent, 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*) pAssignContent->m_strContent;//content
Fields[IS_SOLV].val.bl = FALSE;//IsSolv
Fields[SEND_TIME].val.c = (CHAR*) &SendTime;//server send time
SHORT idNewRec = GetRecCnt();
if (SUC == AddRec((EMDB_RECORD*)&Fields))
{
++m_iTotalNum;
++m_iNewNum;
return idNewRec;
}
else
return -1;
}
SHORT DBAssign::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;
}
//##ModelId=3D572E0B00B4
Err DBAssign::SetIsSolvFlag(SHORT iRecID, BOOLEAN isSlovFlag)
{
EMDB_RECORD FieldIsSolv;
FieldIsSolv.FieldIndex = IS_SOLV;
FieldIsSolv.val.bl = (UBYTE) isSlovFlag;
return SetFields(iRecID, &FieldIsSolv, 1);
}
//##ModelId=3D61AF94026B
Err DBAssign::GetIsSolvFlag(SHORT iRecID, BOOLEAN *isSolvFlag)
{
EMDB_RECORD FieldIsSolv;
FieldIsSolv.FieldIndex = IS_SOLV;
Err Result =
GetField(iRecID, &FieldIsSolv);
if (SUC == Result)
*isSolvFlag = (BOOLEAN) FieldIsSolv.val.bl;
return Result;
}
//##ModelId=3D643CF500CF
Err DBAssign::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;
}
//##ModelId=3D643D000111
Err DBAssign::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;
}
//##ModelId=3D643D1702AF
Err DBAssign::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;
}
//##ModelId=3D644D26031E
Err DBAssign::GetContent(SHORT iRecID, AssignContent *pAssignContent)
{
EMDB_RECORD FieldContent;
FieldContent.FieldIndex = CONTENT;
FieldContent.val.c = (CHAR*)pAssignContent->m_strContent;
return GetField(iRecID, &FieldContent);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -