Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
137 lines
3.8 KiB
C++
137 lines
3.8 KiB
C++
#include <Nave/Nave.h>
|
|
#include <Nave/NFIni.h>
|
|
#include <Nave/NFFilePtr.h>
|
|
#include <Nave/NFTokenizer.h>
|
|
#include <NaveServer/NFDBComponent.h>
|
|
|
|
int wmain(int argc, WCHAR* argv[])
|
|
{
|
|
Nave::NFIni ini;
|
|
ini.Open(L"./SQLExecute.ini");
|
|
|
|
// 프로그램 경로 얻기
|
|
WCHAR strFullPath[512];
|
|
Nave::GetProgramDir(strFullPath, 512);
|
|
// wprintf(strFullPath);
|
|
|
|
// DB연결 시도.
|
|
WCHAR strIP[32];
|
|
WCHAR strName[32];
|
|
WCHAR strUser[32];
|
|
WCHAR strPass[32];
|
|
{
|
|
DWORD dwLen=32;
|
|
ini.GetValue(L"DB", L"IP", strIP, dwLen);
|
|
dwLen=32;
|
|
ini.GetValue(L"DB", L"NAME", strName, dwLen);
|
|
dwLen=32;
|
|
ini.GetValue(L"DB", L"USER", strUser, dwLen);
|
|
dwLen=32;
|
|
ini.GetValue(L"DB", L"PASSWORD", strPass, dwLen);
|
|
}
|
|
|
|
NaveServer::NFDBComponent m_DBComp;
|
|
|
|
if(!m_DBComp.Connect(strIP, strName, strUser, strPass))
|
|
{
|
|
wprintf(L"Database Connection Faild!\n");
|
|
return 0;
|
|
}
|
|
|
|
|
|
// 쿼리날리기 시도
|
|
WCHAR strTYPE[128];
|
|
WCHAR strEvent[128];
|
|
DWORD dwParameter = 0;
|
|
WCHAR strList[128];
|
|
WCHAR strLog[128];
|
|
{
|
|
DWORD dwLen=128;
|
|
ini.GetValue(L"EXECUTE", L"TYPE", strTYPE, dwLen);
|
|
dwLen=128;
|
|
ini.GetValue(strTYPE, L"EVENT", strEvent, dwLen);
|
|
ini.GetValue(strTYPE, L"PARAMETER", &dwParameter);
|
|
dwLen=128;
|
|
ini.GetValue(strTYPE, L"LIST", strList, dwLen);
|
|
dwLen=128;
|
|
ini.GetValue(strTYPE, L"RESULTLOG", strLog, dwLen);
|
|
}
|
|
|
|
if(dwParameter < 0 || dwParameter > 10)
|
|
{
|
|
wprintf(L"Parameter : 0 > and < 10\n");
|
|
return 0;
|
|
}
|
|
|
|
Nave::NFFilePtrW fp_list(strList, L"rt");
|
|
Nave::NFFilePtrW fp_log(strLog, L"wt");
|
|
|
|
int iLine = 0;
|
|
WCHAR szLine[1024];
|
|
|
|
WCHAR szQuery[1024];
|
|
int iSize = 0;
|
|
Nave::String arg[10];
|
|
|
|
while(!fp_list.IsEOF())
|
|
{
|
|
iLine++;
|
|
|
|
szLine[0] = 0;
|
|
fgetws(szLine, 1024, fp_list);
|
|
iSize = wcslen(szLine);
|
|
if(iSize == 0)
|
|
break;
|
|
|
|
if(szLine[iSize-1] == L'\n')
|
|
szLine[iSize-1] = 0;
|
|
|
|
Nave::NFTokenizer strtok = Nave::NFTokenizer(szLine, L",");
|
|
if(dwParameter > (DWORD)strtok.CountTokens())
|
|
{
|
|
fprintf(fp_log, "%d Line : Parameter Is NOT %d Count\n", iLine, dwParameter);
|
|
continue;
|
|
}
|
|
|
|
for(int i = 0; i < (int)dwParameter; ++i)
|
|
arg[i] = strtok.NextToken();
|
|
|
|
// 보상 성공
|
|
if(dwParameter == 0)
|
|
swprintf(szQuery, strEvent);
|
|
else if(dwParameter == 1)
|
|
swprintf(szQuery, strEvent, arg[0].c_str());
|
|
else if(dwParameter == 2)
|
|
swprintf(szQuery, strEvent, arg[0].c_str(), arg[1].c_str());
|
|
else if(dwParameter == 3)
|
|
swprintf(szQuery, strEvent, arg[0].c_str(), arg[1].c_str(), arg[2].c_str());
|
|
else if(dwParameter == 4)
|
|
swprintf(szQuery, strEvent, arg[0].c_str(), arg[1].c_str(), arg[2].c_str(), arg[3].c_str());
|
|
else if(dwParameter == 5)
|
|
swprintf(szQuery, strEvent, arg[0].c_str(), arg[1].c_str(), arg[2].c_str(), arg[3].c_str(), arg[4].c_str());
|
|
else if(dwParameter == 6)
|
|
swprintf(szQuery, strEvent, arg[0].c_str(), arg[1].c_str(), arg[2].c_str(), arg[3].c_str(), arg[4].c_str(), arg[5].c_str());
|
|
else if(dwParameter == 7)
|
|
swprintf(szQuery, strEvent, arg[0].c_str(), arg[1].c_str(), arg[2].c_str(), arg[3].c_str(), arg[4].c_str(), arg[5].c_str(), arg[6].c_str());
|
|
else if(dwParameter == 8)
|
|
swprintf(szQuery, strEvent, arg[0].c_str(), arg[1].c_str(), arg[2].c_str(), arg[3].c_str(), arg[4].c_str(), arg[5].c_str(), arg[6].c_str(), arg[7].c_str());
|
|
else if(dwParameter == 9)
|
|
swprintf(szQuery, strEvent, arg[0].c_str(), arg[1].c_str(), arg[2].c_str(), arg[3].c_str(), arg[4].c_str(), arg[5].c_str(), arg[6].c_str(), arg[7].c_str(), arg[8].c_str());
|
|
else if(dwParameter == 10)
|
|
swprintf(szQuery, strEvent, arg[0].c_str(), arg[1].c_str(), arg[2].c_str(), arg[3].c_str(), arg[4].c_str(), arg[5].c_str(), arg[6].c_str(), arg[7].c_str(), arg[8].c_str(), arg[9].c_str());
|
|
|
|
int Exc = 0;
|
|
int Result = 0;
|
|
if (m_DBComp.ExecuteQueryGetData(szQuery, (void *)&Result))
|
|
{
|
|
Exc = 1;
|
|
}
|
|
|
|
fprintf(fp_log, "%d Line : Exec : %d, Return : %d\n", iLine, Exc, Result);
|
|
}
|
|
|
|
|
|
|
|
m_DBComp.DisconnectDataSource();
|
|
|
|
} |