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

数据库系统

开发平台:

Visual C++

  1. // ProTypeManDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "Stock.h"
  5. #include "ProTypeManDlg.h"
  6. #include "ProTypeEditDlg.h"
  7. #include "ProType.h"
  8. #include "Product.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CProTypeManDlg dialog
  16. CProTypeManDlg::CProTypeManDlg(CWnd* pParent /*=NULL*/)
  17. : CDialog(CProTypeManDlg::IDD, pParent)
  18. {
  19. //{{AFX_DATA_INIT(CProTypeManDlg)
  20. // NOTE: the ClassWizard will add member initialization here
  21. //}}AFX_DATA_INIT
  22. }
  23. void CProTypeManDlg::DoDataExchange(CDataExchange* pDX)
  24. {
  25. CDialog::DoDataExchange(pDX);
  26. //{{AFX_DATA_MAP(CProTypeManDlg)
  27. DDX_Control(pDX, IDC_ADODC1, m_adodc1);
  28. DDX_Control(pDX, IDC_ADODC2, m_adodc2);
  29. DDX_Control(pDX, IDC_DATALIST1, m_datalist1);
  30. DDX_Control(pDX, IDC_DATALIST2, m_datalist2);
  31. //}}AFX_DATA_MAP
  32. }
  33. BEGIN_MESSAGE_MAP(CProTypeManDlg, CDialog)
  34. //{{AFX_MSG_MAP(CProTypeManDlg)
  35. ON_BN_CLICKED(IDC_ADD1_BUTTON, OnAdd1Button)
  36. ON_BN_CLICKED(IDC_MODI1_BUTTON, OnModi1Button)
  37. ON_BN_CLICKED(IDC_DEL1_BUTTON, OnDel1Button)
  38. ON_BN_CLICKED(IDC_ADD2_BUTTON, OnAdd2Button)
  39. ON_BN_CLICKED(IDC_MODI2_BUTTON, OnModi2Button)
  40. ON_BN_CLICKED(IDC_DEL2_BUTTON, OnDel2Button)
  41. //}}AFX_MSG_MAP
  42. END_MESSAGE_MAP()
  43. /////////////////////////////////////////////////////////////////////////////
  44. // CProTypeManDlg message handlers
  45. void CProTypeManDlg::OnAdd1Button() 
  46. {
  47. // TODO: Add your control notification handler code here
  48. CProTypeEditDlg dlg;
  49. dlg.cTypeId = ""; //表示添加记录
  50. dlg.cTypeName = ""; 
  51. dlg.iUpperId = 0; //表示一级类别
  52. //打开编辑对话框
  53. if (dlg.DoModal() == IDOK)
  54. m_adodc1.Refresh();
  55. }
  56. void CProTypeManDlg::OnModi1Button() 
  57. {
  58. // TODO: Add your control notification handler code here
  59. if (m_datalist1.GetText() == "")
  60. {
  61. MessageBox("请选择要修改的产品类别");
  62. return;
  63. }
  64. CProTypeEditDlg dlg;
  65. dlg.cTypeId = m_datalist1.GetBoundText(); //表示修改记录
  66. dlg.cTypeName = m_datalist1.GetText(); 
  67. dlg.iUpperId = 0; //表示一级类别
  68. dlg.m_TypeName = m_datalist1.GetText();
  69. dlg.m_Upper = "";
  70. //打开编辑对话框
  71. if (dlg.DoModal() == IDOK)
  72. m_adodc1.Refresh();
  73. }
  74. void CProTypeManDlg::OnDel1Button() 
  75. {
  76. // TODO: Add your control notification handler code here
  77. if (m_datalist1.GetText() == "")
  78. {
  79. MessageBox("请选择要删除的产品类别");
  80. return;
  81. }
  82. CString Tid;
  83. Tid = m_datalist1.GetBoundText();
  84. //判断是否包含下级类别
  85. CProType pt;
  86. if (pt.HaveSon(Tid) == 1)
  87. {
  88. MessageBox("当前类别包含下级类别,不能删除");
  89. return;
  90. }
  91. //确定是否删除
  92. if (MessageBox("是否删除当前类别", "请确认", MB_YESNO) == IDYES)
  93. {
  94. pt.sql_delete(Tid);  //删除
  95. m_adodc1.Refresh();  //刷新
  96. }
  97. }
  98. BEGIN_EVENTSINK_MAP(CProTypeManDlg, CDialog)
  99.     //{{AFX_EVENTSINK_MAP(CProTypeManDlg)
  100. ON_EVENT(CProTypeManDlg, IDC_DATALIST1, -600 /* Click */, OnClickDatalist1, VTS_NONE)
  101. //}}AFX_EVENTSINK_MAP
  102. END_EVENTSINK_MAP()
  103. void CProTypeManDlg::OnClickDatalist1() 
  104. {
  105. // TODO: Add your control notification handler code here
  106. CString cUpper;
  107. cUpper = m_datalist1.GetBoundText(); //读取选择类别的编号
  108. //设置二级类别的记录源
  109. m_adodc2.SetRecordSource("SELECT * FROM ProType WHERE UpperId=" + cUpper);
  110. m_adodc2.Refresh();
  111. }
  112. void CProTypeManDlg::OnAdd2Button() 
  113. {
  114. // TODO: Add your control notification handler code here
  115. if (m_datalist1.GetText() == "")
  116. {
  117. MessageBox("请选择上级产品类别");
  118. return;
  119. }
  120. CProTypeEditDlg dlg;
  121. dlg.cTypeId = ""; //表示添加记录
  122. dlg.cTypeName = ""; 
  123. dlg.iUpperId = atoi(m_datalist1.GetBoundText()); //设置上级类别编号
  124. dlg.m_TypeName = "";
  125. dlg.m_Upper = m_datalist1.GetText();
  126. //打开编辑对话框
  127. if (dlg.DoModal() == IDOK)
  128. OnClickDatalist1();
  129. }
  130. void CProTypeManDlg::OnModi2Button() 
  131. {
  132. // TODO: Add your control notification handler code here
  133. if (m_datalist2.GetText() == "")
  134. {
  135. MessageBox("请选择要修改的产品类别");
  136. return;
  137. }
  138. CProTypeEditDlg dlg;
  139. dlg.cTypeId = m_datalist2.GetBoundText(); //表示修改记录
  140. dlg.cTypeName = m_datalist2.GetText(); 
  141. dlg.iUpperId = atoi(m_datalist1.GetBoundText()); //上级类别编号
  142. dlg.m_TypeName = m_datalist2.GetText();
  143. dlg.m_Upper = m_datalist1.GetText();
  144. //打开编辑对话框
  145. if (dlg.DoModal() == IDOK)
  146. OnClickDatalist1();
  147. }
  148. void CProTypeManDlg::OnDel2Button() 
  149. {
  150. // TODO: Add your control notification handler code here
  151. if (m_datalist2.GetText() == "")
  152. {
  153. MessageBox("请选择要删除的产品类别");
  154. return;
  155. }
  156. CString Tid;
  157. Tid = m_datalist2.GetBoundText();
  158. //判断类别中是否包含产品
  159. CProduct pro;
  160. if (pro.HaveType(Tid) == 1)
  161. {
  162. MessageBox("当前类别中包含产品,不能删除");
  163. return;
  164. }
  165. //确定是否删除
  166. if (MessageBox("是否删除当前类别", "请确认", MB_YESNO) == IDYES)
  167. {
  168. CProType pt;
  169. pt.sql_delete(Tid);  //删除
  170. OnClickDatalist1();  //刷新
  171. }
  172. }