ProInStore.cpp
上传用户:biney012
上传日期:2022-05-09
资源大小:4592k
文件大小:6k
源码类别:

数据库系统

开发平台:

Visual C++

  1. // ProInStore.cpp: implementation of the CProInStore class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "Stock.h"
  6. #include "ProInStore.h"
  7. #include "ADOConn.h"
  8. #ifdef _DEBUG
  9. #undef THIS_FILE
  10. static char THIS_FILE[]=__FILE__;
  11. #define new DEBUG_NEW
  12. #endif
  13. //////////////////////////////////////////////////////////////////////
  14. // Construction/Destruction
  15. //////////////////////////////////////////////////////////////////////
  16. CProInStore::CProInStore()
  17. {
  18. SpId = 0;
  19. Pid = 0;
  20. Pprice = 0;
  21. Pnum = 0;
  22. MakeDate = "";
  23. Sid = 0;
  24. }
  25. CProInStore::~CProInStore()
  26. {
  27. }
  28. int CProInStore::GetSpId()
  29. {
  30. return SpId;
  31. }
  32. void CProInStore::SetSpId(int iSpId)
  33. {
  34. SpId = iSpId;
  35. }
  36. int CProInStore::GetPid()
  37. {
  38. return Pid;
  39. }
  40. void CProInStore::SetPid(int iPid)
  41. {
  42. Pid = iPid;
  43. }
  44. float CProInStore::GetPprice()
  45. {
  46. return Pprice;
  47. }
  48. void CProInStore::SetPprice(float fPprice)
  49. {
  50. Pprice = fPprice;
  51. }
  52. int CProInStore::GetPnum()
  53. {
  54. return Pnum;
  55. }
  56. void CProInStore::SetPnum(int iPnum)
  57. {
  58. Pnum = iPnum;
  59. }
  60. CString CProInStore::GetMakeDate()
  61. {
  62. return MakeDate;
  63. }
  64. void CProInStore::SetMakeDate(CString cMakeDate)
  65. {
  66. MakeDate = cMakeDate;
  67. }
  68. int CProInStore::GetSid()
  69. {
  70. return Sid;
  71. }
  72. void CProInStore::SetSid(int iSid)
  73. {
  74. Sid = iSid;
  75. }
  76. //数据库操作
  77. int CProInStore::SumPro(CString cPid) //计算指定产品的库存总数量
  78. {
  79. //连接数据库
  80. ADOConn m_AdoConn;
  81. m_AdoConn.OnInitADOConn();
  82. //设置SELECT语句
  83. _bstr_t vSQL;
  84. vSQL = "SELECT Sum(Pnum) AS SumNum FROM ProInStore WHERE Pid=" + cPid;
  85. //执行SELETE语句
  86. _RecordsetPtr m_pRecordset;
  87. m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
  88. //返回各列的值
  89. if (m_pRecordset->adoEOF)
  90. return 0;
  91. else
  92. {
  93. return atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("SumNum"));
  94. }
  95. //断开与数据库的连接
  96. m_AdoConn.ExitConnect();
  97. }
  98. int CProInStore::HaveProduct(CString cPid)
  99. {
  100. //连接数据库
  101. ADOConn m_AdoConn;
  102. m_AdoConn.OnInitADOConn();
  103. //设置SELECT语句
  104. _bstr_t vSQL;
  105. vSQL = "SELECT * FROM ProInStore WHERE Pid=" + cPid;
  106. //执行SELETE语句
  107. _RecordsetPtr m_pRecordset;
  108. m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
  109. //返回各列的值
  110. if (m_pRecordset->adoEOF)
  111. return -1;
  112. else
  113. return 1;
  114. //断开与数据库的连接
  115. m_AdoConn.ExitConnect();
  116. }
  117. int CProInStore::HaveStore(CString cSid)
  118. {
  119. //连接数据库
  120. ADOConn m_AdoConn;
  121. m_AdoConn.OnInitADOConn();
  122. //设置SELECT语句
  123. _bstr_t vSQL;
  124. vSQL = "SELECT * FROM ProInStore WHERE Sid=" + cSid;
  125. //执行SELETE语句
  126. _RecordsetPtr m_pRecordset;
  127. m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
  128. //返回各列的值
  129. if (m_pRecordset->adoEOF)
  130. return -1;
  131. else
  132. return 1;
  133. //断开与数据库的连接
  134. m_AdoConn.ExitConnect();
  135. }
  136. int CProInStore::HaveData(CString cPid, CString cPprice, CString cMakeDate, CString cSid)
  137. {
  138. //连接数据库
  139. ADOConn m_AdoConn;
  140. m_AdoConn.OnInitADOConn();
  141. //设置SELECT语句
  142. _bstr_t vSQL;
  143. vSQL = "SELECT * FROM ProInStore WHERE Pid=" + cPid + " AND Pprice=" 
  144. + cPprice + " AND MakeDate='" + cMakeDate + "' AND Sid=" + cSid;
  145. //执行SELETE语句
  146. _RecordsetPtr m_pRecordset;
  147. m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
  148. //返回各列的值
  149. if (m_pRecordset->adoEOF)
  150. return -1;
  151. else
  152. return 1;
  153. //断开与数据库的连接
  154. m_AdoConn.ExitConnect();
  155. }  
  156. void CProInStore::sql_insert()
  157. {
  158. //连接数据库
  159. ADOConn m_AdoConn;
  160. m_AdoConn.OnInitADOConn();
  161. //设置INSERT语句
  162. CString strPid;
  163. strPid.Format("%d", Pid);
  164. CString strPprice;
  165. strPprice.Format("%f", Pprice);
  166. CString strPnum;
  167. strPnum.Format("%d", Pnum);
  168. CString strSid;
  169. strSid.Format("%d", Sid);
  170. _bstr_t vSQL;
  171. vSQL = "INSERT INTO ProInStore (Pid, Pprice, Pnum, MakeDate, Sid) VALUES(" 
  172. + strPid + "," + strPprice + "," + strPnum + ",'" 
  173. + MakeDate + "'," + strSid + ")";
  174. //执行INSERT语句
  175. m_AdoConn.ExecuteSQL(vSQL);
  176. //断开与数据库的连接
  177. m_AdoConn.ExitConnect();
  178. }
  179. void CProInStore::sql_updateDiff(CString cPid, CString cPprice, CString cMakeDate, CString cSid)
  180. {
  181. //连接数据库
  182. ADOConn m_AdoConn;
  183. m_AdoConn.OnInitADOConn();
  184. //设置UPDATE语句
  185. CString strPnum;
  186. strPnum.Format("%d", Pnum);
  187. _bstr_t vSQL;
  188. vSQL = "UPDATE ProInStore SET Pnum = Pnum + " + strPnum + " WHERE Pid=" + cPid + " AND Pprice=" 
  189. + cPprice + " AND MakeDate='" + cMakeDate + "' AND Sid=" + cSid;
  190. //执行UPDATE语句
  191. m_AdoConn.ExecuteSQL(vSQL);
  192. //断开与数据库的连接
  193. m_AdoConn.ExitConnect();
  194. }
  195. void CProInStore::sql_updatePnum(CString cSpId)
  196. {
  197. //连接数据库
  198. ADOConn m_AdoConn;
  199. m_AdoConn.OnInitADOConn();
  200. //设置UPDATE语句
  201. CString strPnum;
  202. strPnum.Format("%d", Pnum);
  203. _bstr_t vSQL;
  204. vSQL = "UPDATE ProInStore SET Pnum=" + strPnum + " WHERE SpId=" + cSpId;
  205. //执行UPDATE语句
  206. m_AdoConn.ExecuteSQL(vSQL);
  207. //断开与数据库的连接
  208. m_AdoConn.ExitConnect();
  209. }
  210. void CProInStore::sql_delete(CString cSpId)
  211. {
  212. //连接数据库
  213. ADOConn m_AdoConn;
  214. m_AdoConn.OnInitADOConn();
  215. //设置DELETE语句
  216. _bstr_t vSQL;
  217. vSQL = "DELETE FROM ProInStore WHERE SpId=" + cSpId;
  218. //执行INSERT语句
  219. m_AdoConn.ExecuteSQL(vSQL);
  220. //断开与数据库的连接
  221. m_AdoConn.ExitConnect();
  222. }
  223. //读取所有字段值
  224. void GetData(CString cTid);
  225. //读取所有字段值
  226. void CProInStore::GetData(CString cSpId)
  227. {
  228. //连接数据库
  229. ADOConn m_AdoConn;
  230. m_AdoConn.OnInitADOConn();
  231. //设置SELECT语句
  232. _bstr_t vSQL;
  233. vSQL = "SELECT * FROM ProInStore WHERE SpId=" + cSpId;
  234. //执行SELETE语句
  235. _RecordsetPtr m_pRecordset;
  236. m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
  237. //返回各列的值
  238. if (m_pRecordset->adoEOF)
  239. CProInStore();
  240. else
  241. {
  242. SpId = atoi(cSpId);
  243. Pid = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Pid"));
  244. Pprice = atof((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Pprice"));
  245. Pnum = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Pnum"));
  246. MakeDate = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("MakeDate");
  247. Sid = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Sid"));
  248. }
  249. //断开与数据库的连接
  250. m_AdoConn.ExitConnect();
  251. }