Files
mir_server/server/DBServer/FubenData.cpp
aixianling 5c9f1dae4a init
2025-01-09 17:45:40 +08:00

141 lines
2.6 KiB
C++

#include "StdAfx.h"
/*
#include "../common/db/Fuben.h"
int CDBDataClient::SaveFubenData(int nActorid,int Fbid,int Daycount,int Progress)
{
int ret = reSucc;
if ( !m_pSQLConnection->Connected() )
{
ret = reDbErr;
}
else
{
//insert
int nError = m_pSQLConnection->Exec(szSQLSP_AddCharFubenData, nActorid,Fbid,Daycount,Progress);
if ( !nError )
{
ret = reSucc;
m_pSQLConnection->ResetQuery();
}
else
{
ret = reDbErr;
}
}
if (ret != reSucc)
{
OutputMsg(rmError,_T("save fuben data error!id=%d,Fbid=%d,Daycount=%d,Progress=%d"),
nActorid,Fbid,Daycount,Progress);
}
return ret;
}
VOID CDBDataClient::SaveFuben(CDataPacketReader &inPacket)
{
int nActorId = 0;
inPacket >> nActorId;
CDataPacket& retPack = allocProtoPacket(dcSaveFuben);
retPack << nActorId;
BYTE ret = CleanFuben(nActorId);
if (ret != reSucc)
{
retPack << (BYTE)ret;
flushProtoPacket(retPack);
return;
}
WORD nCount = 0;
inPacket >> nCount;
for (int i = 0; i < nCount; i++)
{
FubenData data;
inPacket >> data;
ret = SaveFubenData(nActorId,data.wFubenId,data.wDaycount,data.bProgress);
if (ret != reSucc)
{
break;
}
}
retPack << (BYTE)ret;
flushProtoPacket(retPack);
}
int CDBDataClient::CleanFuben(INT_PTR nActorid)
{
int ret = reSucc;
if ( !m_pSQLConnection->Connected() )
{
ret = reDbErr;
}
else
{
//先删除
int nError = m_pSQLConnection->Exec(szSQLSP_CleanCharFuben, nActorid);
if ( !nError )
{
m_pSQLConnection->ResetQuery();
}else
{
ret = reDbErr;
}
}
if (ret != reSucc)
{
OutputMsg(rmError,_T("cleanfubendata error!id=%d"),
nActorid);
}
return ret;
}
VOID CDBDataClient::LoadFubenData(CDataPacketReader &inPacket)
{
int nActorId;
inPacket >> nActorId;
LoadFubenData(nActorId);
}
VOID CDBDataClient::LoadFubenData(INT_PTR nActorId)
{
CDataPacket& retPack = allocProtoPacket(dcLoadFuben);
retPack << nActorId;
//数据库连接是否就绪
if ( !m_pSQLConnection->Connected() )
{
retPack << (BYTE)reDbErr;
}
else
{
//向数据库查询进度任务数据
int nError = m_pSQLConnection->Query(szSQLSP_LoadCharFubenData, nActorId);
if ( !nError )
{
retPack << (BYTE)reSucc;
MYSQL_ROW pRow = m_pSQLConnection->CurrentRow();
WORD nCount = m_pSQLConnection->GetRowCount();
retPack << nCount;
while ( pRow)
{
FubenData data;
sscanf(pRow[0], "%d", &data.wFubenId);
sscanf(pRow[1], "%d", &data.wDaycount);
sscanf(pRow[2], "%d", &data.bProgress);
retPack << data;
pRow = m_pSQLConnection->NextRow();
}
m_pSQLConnection->ResetQuery();
}
else
{
retPack << (BYTE)reDbErr;
}
}
flushProtoPacket(retPack);
}
*/