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

数据库系统

开发平台:

Visual C++

  1. // Product.cpp: implementation of the CProduct class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "Stock.h"
  6. #include "Product.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. CProduct::CProduct()
  17. {
  18. Pid = 0;
  19. Pname = "";
  20. TypeId = 0;
  21. Pstyle = "";
  22. Punit = "";
  23. Pprice = 0;
  24. Plow = 0;
  25. Phigh = 0;
  26. Valid = 0;
  27. AlarmDays = 0;
  28. }
  29. CProduct::~CProduct()
  30. {
  31. }
  32. //设置和读取成员变量
  33. int CProduct::GetPid()
  34. {
  35. return Pid;
  36. }
  37. void CProduct::SetPid(int iPid)
  38. {
  39. Pid = iPid;
  40. }
  41. CString CProduct::GetPname()
  42. {
  43. return Pname;
  44. }
  45. void CProduct::SetPname(CString cPname)
  46. {
  47. Pname = cPname;
  48. }
  49. int CProduct::GetTypeId()
  50. {
  51. return TypeId;
  52. }
  53. void CProduct::SetTypeId(int iTypeId)
  54. {
  55. TypeId = iTypeId;
  56. }
  57. CString CProduct::GetPstyle()
  58. {
  59. return Pstyle;
  60. }
  61. void CProduct::SetPstyle(CString cPstyle)
  62. {
  63. Pstyle = cPstyle;
  64. }
  65. CString CProduct::GetPunit()
  66. {
  67. return Punit;
  68. }
  69. void CProduct::SetPunit(CString cPunit)
  70. {
  71. Punit = cPunit;
  72. }
  73. float CProduct::GetPprice()
  74. {
  75. return Pprice;
  76. }
  77. void CProduct::SetPprice(float fPprice)
  78. {
  79. Pprice = fPprice;
  80. }
  81. int CProduct::GetPlow()
  82. {
  83. return Plow;
  84. }
  85. void CProduct::SetPlow(int iPlow)
  86. {
  87. Plow = iPlow;
  88. }
  89. int CProduct::GetPhigh()
  90. {
  91. return Phigh;
  92. }
  93. void CProduct::SetPhigh(int iPhigh)
  94. {
  95. Phigh = iPhigh;
  96. }
  97. int CProduct::GetValid()
  98. {
  99. return Valid;
  100. }
  101. void CProduct::SetValid(int iValid)
  102. {
  103. Valid = iValid;
  104. }
  105. int CProduct::GetAlarmDays()
  106. {
  107. return AlarmDays;
  108. }
  109. void CProduct::SetAlarmDays(int iAlarmDays)
  110. {
  111. AlarmDays = iAlarmDays;
  112. }
  113. //数据库操作
  114. int CProduct::HaveName(CString cPname)
  115. {
  116. //连接数据库
  117. ADOConn m_AdoConn;
  118. m_AdoConn.OnInitADOConn();
  119. //设置SELECT语句
  120. _bstr_t vSQL;
  121. vSQL = "SELECT * FROM Product WHERE Pname='" + cPname + "'";
  122. //执行SELETE语句
  123. _RecordsetPtr m_pRecordset;
  124. m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
  125. //返回各列的值
  126. if (m_pRecordset->adoEOF)
  127. return -1;
  128. else
  129. return 1;
  130. //断开与数据库的连接
  131. m_AdoConn.ExitConnect();
  132. }
  133. int CProduct::HaveType(CString cTypeId)
  134. {
  135. //连接数据库
  136. ADOConn m_AdoConn;
  137. m_AdoConn.OnInitADOConn();
  138. //设置SELECT语句
  139. _bstr_t vSQL;
  140. vSQL = "SELECT * FROM Product WHERE TypeId=" + cTypeId;
  141. //执行SELETE语句
  142. _RecordsetPtr m_pRecordset;
  143. m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
  144. //返回各列的值
  145. if (m_pRecordset->adoEOF)
  146. return -1;
  147. else
  148. return 1;
  149. //断开与数据库的连接
  150. m_AdoConn.ExitConnect();
  151. }
  152. void CProduct::sql_insert()
  153. {
  154. //连接数据库
  155. ADOConn m_AdoConn;
  156. m_AdoConn.OnInitADOConn();
  157. //设置INSERT语句
  158. CString strTypeId;
  159. strTypeId.Format("%d", TypeId);
  160. CString strPrice;
  161. strPrice.Format("%f", Pprice);
  162. CString strPlow;
  163. strPlow.Format("%d", Plow);
  164. CString strPhigh;
  165. strPhigh.Format("%d", Phigh);
  166. CString strValid;
  167. strValid.Format("%d", Valid);
  168. CString strAlarm;
  169. strAlarm.Format("%d", AlarmDays);
  170. _bstr_t vSQL;
  171. vSQL = "INSERT INTO Product (Pname, TypeId, Pstyle, Punit, Pprice, Plow, Phigh, Valid, AlarmDays) VALUES('" 
  172. + Pname + "'," + strTypeId + ",'" + Pstyle + "','" + Punit + "'," + strPrice + "," + strPlow + ","
  173. + strPhigh + "," + strValid + "," + strAlarm + ")";
  174. //执行INSERT语句
  175. m_AdoConn.ExecuteSQL(vSQL);
  176. //断开与数据库的连接
  177. m_AdoConn.ExitConnect();
  178. }
  179. void CProduct::sql_update(CString cPid)
  180. {
  181. //连接数据库
  182. ADOConn m_AdoConn;
  183. m_AdoConn.OnInitADOConn();
  184. //设置UPDATE语句
  185. CString strTypeId;
  186. strTypeId.Format("%d", TypeId);
  187. CString strPrice;
  188. strPrice.Format("%f", Pprice);
  189. CString strPlow;
  190. strPlow.Format("%d", Plow);
  191. CString strPhigh;
  192. strPhigh.Format("%d", Phigh);
  193. CString strValid;
  194. strValid.Format("%d", Valid);
  195. CString strAlarm;
  196. strAlarm.Format("%d", AlarmDays);
  197. _bstr_t vSQL;
  198. vSQL = "UPDATE Product SET Pname='" + Pname + "', Pstyle='" 
  199. + Pstyle + "', Punit='" + Punit + "', Pprice=" 
  200. + strPrice + ", Plow=" + strPlow + ", Phigh=" + strPhigh
  201. + ", Valid=" + strValid + ", AlarmDays=" + strAlarm
  202. + " WHERE Pid=" + cPid;
  203. //执行UPDATE语句
  204. m_AdoConn.ExecuteSQL(vSQL);
  205. //断开与数据库的连接
  206. m_AdoConn.ExitConnect();
  207. }
  208. void CProduct::sql_delete(CString cPid)
  209. {
  210. //连接数据库
  211. ADOConn m_AdoConn;
  212. m_AdoConn.OnInitADOConn();
  213. //设置DELETE语句
  214. _bstr_t vSQL;
  215. vSQL = "DELETE FROM Product WHERE Pid=" + cPid;
  216. //执行DELETE语句
  217. m_AdoConn.ExecuteSQL(vSQL);
  218. //断开与数据库的连接
  219. m_AdoConn.ExitConnect();
  220. }
  221. //读取所有字段值
  222. void CProduct::GetData(CString cPid)
  223. {
  224. //连接数据库
  225. ADOConn m_AdoConn;
  226. m_AdoConn.OnInitADOConn();
  227. //设置SELECT语句
  228. _bstr_t vSQL;
  229. vSQL = "SELECT * FROM Product WHERE Pid=" + cPid;
  230. //执行SELETE语句
  231. _RecordsetPtr m_pRecordset;
  232. m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
  233. //返回各列的值
  234. if (m_pRecordset->adoEOF)
  235. CProduct();
  236. else
  237. {
  238. Pid = atoi(cPid);
  239. Pname = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Pname");
  240. TypeId = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("TypeId"));
  241. Pstyle = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Pstyle");
  242. Punit = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Punit");
  243. Pprice = atof((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Pprice"));
  244. Plow = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Plow"));
  245. Phigh = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Phigh"));
  246. Valid = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Valid"));
  247. AlarmDays = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("AlarmDays"));
  248. }
  249. //断开与数据库的连接
  250. m_AdoConn.ExitConnect();
  251. }