Skip to content

Commit 8cb3e65

Browse files
committed
added:lost oil info database
1 parent fc81e98 commit 8cb3e65

File tree

2 files changed

+233
-0
lines changed

2 files changed

+233
-0
lines changed
Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
#include "pch.h"
2+
#include "ModuleDatabase_OilInfo.h"
3+
/********************************************************************
4+
// Created: 2024/05/08 14:52:14
5+
// File Name: D:\XEngine_APIService\XEngine_Source\XEngine_ModuleDatabase\ModuleDatabase_OilInfo\ModuleDatabase_OilInfo.cpp
6+
// File Path: D:\XEngine_APIService\XEngine_Source\XEngine_ModuleDatabase\ModuleDatabase_OilInfo
7+
// File Base: ModuleDatabase_OilInfo
8+
// File Ext: cpp
9+
// Project: XEngine(网络通信引擎)
10+
// Author: qyt
11+
// Purpose: 油价信息查询接口
12+
// History:
13+
*********************************************************************/
14+
CModuleDatabase_OilInfo::CModuleDatabase_OilInfo()
15+
{
16+
}
17+
CModuleDatabase_OilInfo::~CModuleDatabase_OilInfo()
18+
{
19+
20+
}
21+
//////////////////////////////////////////////////////////////////////////
22+
// 公有函数
23+
//////////////////////////////////////////////////////////////////////////
24+
/********************************************************************
25+
函数名称:ModuleDatabase_OilInfo_Init
26+
函数功能:初始化数据库
27+
参数.一:pSt_DBConnector
28+
In/Out:In
29+
类型:数据结构指针
30+
可空:N
31+
意思:数据数据库信息
32+
返回值
33+
类型:逻辑型
34+
意思:是否成功
35+
备注:
36+
*********************************************************************/
37+
bool CModuleDatabase_OilInfo::ModuleDatabase_OilInfo_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector)
38+
{
39+
DBModule_IsErrorOccur = false;
40+
41+
if (NULL == pSt_DBConnector)
42+
{
43+
DBModule_IsErrorOccur = true;
44+
DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT;
45+
return false;
46+
}
47+
//连接数据库
48+
_tcsxcpy(pSt_DBConnector->tszDBName, _X("XEngine_APIInfo"));
49+
if (!DataBase_MySQL_Connect(&xhDBSQL, pSt_DBConnector))
50+
{
51+
DBModule_IsErrorOccur = true;
52+
DBModule_dwErrorCode = DataBase_GetLastError();
53+
return false;
54+
}
55+
return true;
56+
}
57+
/********************************************************************
58+
函数名称:ModuleDatabase_OilInfo_Destory
59+
函数功能:销毁
60+
返回值
61+
类型:逻辑型
62+
意思:是否成功
63+
备注:
64+
*********************************************************************/
65+
bool CModuleDatabase_OilInfo::ModuleDatabase_OilInfo_Destory()
66+
{
67+
DBModule_IsErrorOccur = false;
68+
69+
DataBase_MySQL_Close(xhDBSQL);
70+
return true;
71+
}
72+
/********************************************************************
73+
函数名称:ModuleDatabase_OilInfo_Query
74+
函数功能:查询数据
75+
参数.一:pSt_OilInfo
76+
In/Out:In/Out
77+
类型:数据结构指针
78+
可空:N
79+
意思:输入查询的信息,输出完整的信息
80+
返回值
81+
类型:逻辑型
82+
意思:是否成功
83+
备注:
84+
*********************************************************************/
85+
bool CModuleDatabase_OilInfo::ModuleDatabase_OilInfo_Query(XENGINE_OILINFO* pSt_OilInfo)
86+
{
87+
DBModule_IsErrorOccur = false;
88+
89+
if ((NULL == pSt_OilInfo))
90+
{
91+
DBModule_IsErrorOccur = true;
92+
DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT;
93+
return false;
94+
}
95+
//查询
96+
XNETHANDLE xhTable = 0;
97+
__int64u nllLine = 0;
98+
__int64u nllRow = 0;
99+
100+
XCHAR tszSQLStatement[1024];
101+
memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
102+
103+
_xstprintf(tszSQLStatement, _X("SELECT * FROM `OilPrice` WHERE tszRegion = '%s'"), pSt_OilInfo->tszCityStr);
104+
#ifdef _MSC_BUILD
105+
XCHAR tszUTFStr[1024] = {};
106+
int nSLen = _tcsxlen(tszSQLStatement);
107+
BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen);
108+
if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFStr, &nllLine, &nllRow))
109+
#else
110+
if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nllLine, &nllRow))
111+
#endif
112+
{
113+
DBModule_IsErrorOccur = true;
114+
DBModule_dwErrorCode = DataBase_GetLastError();
115+
return false;
116+
}
117+
if (nllLine <= 0)
118+
{
119+
DBModule_IsErrorOccur = true;
120+
DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_NOTFOUND;
121+
return false;
122+
}
123+
for (__int64u i = 0; i < nllLine; i++)
124+
{
125+
XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable);
126+
127+
if (NULL != pptszResult[1])
128+
{
129+
pSt_OilInfo->dlValue98 = _ttxof(pptszResult[1]);
130+
}
131+
if (NULL != pptszResult[2])
132+
{
133+
pSt_OilInfo->dlValue95 = _ttxof(pptszResult[2]);
134+
}
135+
if (NULL != pptszResult[3])
136+
{
137+
pSt_OilInfo->dlValue92 = _ttxof(pptszResult[3]);
138+
}
139+
if (NULL != pptszResult[4])
140+
{
141+
pSt_OilInfo->dlValue0 = _ttxof(pptszResult[4]);
142+
}
143+
if (NULL != pptszResult[5])
144+
{
145+
pSt_OilInfo->dlValue10 = _ttxof(pptszResult[5]);
146+
}
147+
if (NULL != pptszResult[6])
148+
{
149+
pSt_OilInfo->dlValue20 = _ttxof(pptszResult[6]);
150+
}
151+
if (NULL != pptszResult[7])
152+
{
153+
pSt_OilInfo->dlValue35 = _ttxof(pptszResult[7]);
154+
}
155+
if (NULL != pptszResult[8])
156+
{
157+
_tcsxcpy(pSt_OilInfo->tszUPTime, pptszResult[8]);
158+
}
159+
}
160+
DataBase_MySQL_FreeResult(xhDBSQL, xhTable);
161+
return true;
162+
}
163+
/********************************************************************
164+
函数名称:ModuleDatabase_OilInfo_UPDate
165+
函数功能:更新数据
166+
参数.一:pSt_OilInfo
167+
In/Out:In
168+
类型:数据结构指针
169+
可空:N
170+
意思:输入要更新的数据
171+
返回值
172+
类型:逻辑型
173+
意思:是否成功
174+
备注:
175+
*********************************************************************/
176+
bool CModuleDatabase_OilInfo::ModuleDatabase_OilInfo_UPDate(XENGINE_OILINFO* pSt_OilInfo)
177+
{
178+
DBModule_IsErrorOccur = false;
179+
180+
if (NULL == pSt_OilInfo)
181+
{
182+
DBModule_IsErrorOccur = true;
183+
DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT;
184+
return false;
185+
}
186+
XCHAR tszSQLStatement[1024];
187+
memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
188+
189+
_xstprintf(tszSQLStatement, _X("UPDATE `OilPrice` SET 98 = %lf,95 = %lf,92 = %lf,0 = %lf,-10 = %lf,-20 = %lf,-35 = %lf,tszUPTime = 'now()' WHERE tszRegion = '%s'"), pSt_OilInfo->dlValue98, pSt_OilInfo->dlValue95, pSt_OilInfo->dlValue92, pSt_OilInfo->dlValue0, pSt_OilInfo->dlValue10, pSt_OilInfo->dlValue20, pSt_OilInfo->dlValue35, pSt_OilInfo->tszCityStr);
190+
191+
#ifdef _MSC_BUILD
192+
XCHAR tszUTFStr[1024] = {};
193+
int nSLen = _tcsxlen(tszSQLStatement);
194+
BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen);
195+
if (!DataBase_MySQL_Execute(xhDBSQL, tszUTFStr))
196+
#else
197+
if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement))
198+
#endif
199+
{
200+
DBModule_IsErrorOccur = true;
201+
DBModule_dwErrorCode = DataBase_GetLastError();
202+
return false;
203+
}
204+
return true;
205+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#pragma once
2+
/********************************************************************
3+
// Created: 2024/05/08 14:51:51
4+
// File Name: D:\XEngine_APIService\XEngine_Source\XEngine_ModuleDatabase\ModuleDatabase_OilInfo\ModuleDatabase_OilInfo.h
5+
// File Path: D:\XEngine_APIService\XEngine_Source\XEngine_ModuleDatabase\ModuleDatabase_OilInfo
6+
// File Base: ModuleDatabase_OilInfo
7+
// File Ext: h
8+
// Project: XEngine(网络通信引擎)
9+
// Author: qyt
10+
// Purpose: 油价信息查询接口
11+
// History:
12+
*********************************************************************/
13+
14+
15+
class CModuleDatabase_OilInfo
16+
{
17+
public:
18+
CModuleDatabase_OilInfo();
19+
~CModuleDatabase_OilInfo();
20+
public:
21+
bool ModuleDatabase_OilInfo_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector);
22+
bool ModuleDatabase_OilInfo_Destory();
23+
bool ModuleDatabase_OilInfo_Query(XENGINE_OILINFO* pSt_OilInfo);
24+
bool ModuleDatabase_OilInfo_UPDate(XENGINE_OILINFO* pSt_OilInfo);
25+
protected:
26+
private:
27+
XNETHANDLE xhDBSQL;
28+
};

0 commit comments

Comments
 (0)