代码
char szMagicQuest[1024] = {0,};
qry->GetStr("m_aMagicQuest",szMagicQuest);
if(VerifyString(szMagicQuest,__FILE__,__LINE__,lpDbOverlappedPlus->AccountInfo.szPlayer,NULL) == FALSE)
{
return;
}
CountStr = 0;
while('$' != szMagicQuest[CountStr])
{
nEventId = GetIntPaFromStr( szMagicQuest, &CountStr );
nDesc = GetIntPaFromStr( szMagicQuest, &CountStr );
nCount = GetIntPaFromStr( szMagicQuest, &CountStr );
chElem = (char)GetIntPaFromStr( szMagicQuest, &CountStr );
nX = GetIntPaFromStr( szMagicQuest, &CountStr );
nY = GetIntPaFromStr( szMagicQuest, &CountStr );
bLow = (char)GetIntPaFromStr( szMagicQuest, &CountStr );
nMagicDay = GetIntPaFromStr( szMagicQuest, &CountStr );
CountStr++;
//Error("%d %d %d %d %d %d %d %d [%d/%d]",nEventId,nX,nY,nCount,nDesc,nMagicDay,chElem,bLow,CountStr,nStrLen);
if( nEventId > 0 && nMagicDay == nTmpDay)
{
CDayEventState* pDES = new CDayEventState;
pDES->SetEventId(nEventId);
CMagicQuest* pMQ = new CMagicQuest;
pMQ->SetCount(nCount);
pMQ->m_nDesc = nDesc;
sMagicPos* pMPos = new sMagicPos;
pMPos->bLow = (bLow == 1 ? true : false);
pMPos->chElem = chElem;
pMPos->nEventId = nEventId;
pMPos->nX = nX;
pMPos->nY = nY;
pMQ->SetMagicPos(pMPos);
pDES->SetMagicQuest(pMQ);
pMover->m_DayEvent.Add(pDES);
}
}
SQL数据库:
表:
m_aMagicQuest varchar(1024) Checked
存储过程:
, @iszMagicQuest varchar(1024) = '$'
,A.m_aMagicQuest
提示:
\DbManagerFun.cpp, 1210.
Exec RETURN FALSE, ThreadID : 5100.
SQLSTATE:42000 error:[Microsoft][SQL Server Native Client 11.0][SQL Server]从数据类型 varchar 转换为 int 时出错。
变量从varchar 转换为 int 时出错,你就看在哪里发生了数据类型的转变