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

数据库系统

开发平台:

Visual C++

  1. // StoreHouseManDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "Stock.h"
  5. #include "StoreHouseManDlg.h"
  6. #include "StoreHouseEditDlg.h"
  7. #include "Storehouse.h"
  8. #include "COMDEF.H"
  9. #include "Columns.h"
  10. #include "Column.h"
  11. #include "_recordset.h"
  12. #include "StoreIn.h"
  13. #include "TakeOut.h"
  14. #include "ProInStore.h"
  15. #ifdef _DEBUG
  16. #define new DEBUG_NEW
  17. #undef THIS_FILE
  18. static char THIS_FILE[] = __FILE__;
  19. #endif
  20. /////////////////////////////////////////////////////////////////////////////
  21. // CStoreHouseManDlg dialog
  22. CStoreHouseManDlg::CStoreHouseManDlg(CWnd* pParent /*=NULL*/)
  23. : CDialog(CStoreHouseManDlg::IDD, pParent)
  24. {
  25. //{{AFX_DATA_INIT(CStoreHouseManDlg)
  26. // NOTE: the ClassWizard will add member initialization here
  27. //}}AFX_DATA_INIT
  28. }
  29. void CStoreHouseManDlg::DoDataExchange(CDataExchange* pDX)
  30. {
  31. CDialog::DoDataExchange(pDX);
  32. //{{AFX_DATA_MAP(CStoreHouseManDlg)
  33. DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
  34. DDX_Control(pDX, IDC_ADODC1, m_adodc);
  35. //}}AFX_DATA_MAP
  36. }
  37. BEGIN_MESSAGE_MAP(CStoreHouseManDlg, CDialog)
  38. //{{AFX_MSG_MAP(CStoreHouseManDlg)
  39. ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)
  40. ON_BN_CLICKED(IDC_MODI_BUTTON, OnModiButton)
  41. ON_BN_CLICKED(IDC_DEL_BUTTON, OnDelButton)
  42. //}}AFX_MSG_MAP
  43. END_MESSAGE_MAP()
  44. /////////////////////////////////////////////////////////////////////////////
  45. // CStoreHouseManDlg message handlers
  46. void CStoreHouseManDlg::Refresh_Data()
  47. {
  48. UpdateData(TRUE);
  49. CString cSource;
  50. cSource = "SELECT Sid, Sname AS 仓库单位, Memo AS 备注";
  51. cSource += " FROM Storehouse ORDER BY Sname";
  52. m_adodc.SetRecordSource(cSource);
  53. m_adodc.Refresh();
  54. //设置表格列宽度
  55. _variant_t vIndex;
  56. vIndex = long(0);
  57. m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
  58. vIndex = long(1);
  59. m_datagrid.GetColumns().GetItem(vIndex).SetWidth(100);
  60. vIndex = long(2);
  61. m_datagrid.GetColumns().GetItem(vIndex).SetWidth(420);
  62. }
  63. void CStoreHouseManDlg::OnAddButton() 
  64. {
  65. // TODO: Add your control notification handler code here
  66. UpdateData(TRUE);
  67. //打开编辑对话框
  68. CStoreHouseEditDlg dlg;
  69. dlg.cSid = "";
  70. if (dlg.DoModal() == IDOK)
  71. Refresh_Data();
  72. }
  73. void CStoreHouseManDlg::OnModiButton() 
  74. {
  75. // TODO: Add your control notification handler code here
  76. if (m_adodc.GetRecordset().GetEof()) 
  77. {
  78. MessageBox("请选择要修改的记录");
  79. return;
  80. }
  81. UpdateData(TRUE);
  82. CStoreHouseEditDlg dlg;
  83. dlg.cSid = m_datagrid.GetItem(0); //记录编号
  84. dlg.m_Sname = m_datagrid.GetItem(1); //仓库名称
  85. dlg.m_Memo = m_datagrid.GetItem(2); //备注信息
  86. if (dlg.DoModal() == IDOK)
  87. Refresh_Data();
  88. }
  89. void CStoreHouseManDlg::OnDelButton() 
  90. {
  91. // TODO: Add your control notification handler code here
  92. if (m_adodc.GetRecordset().GetEof()) 
  93. {
  94. MessageBox("请选择要删除的记录");
  95. return;
  96. }
  97. CString Sid;
  98. Sid = m_datagrid.GetItem(0);
  99. CStoreIn obj;
  100. if (obj.HaveStore(Sid) == 1)
  101. {
  102. MessageBox("此仓库信息出现在入库单中,不能删除");
  103. return;
  104. }
  105. CTakeOut obj1;
  106. if (obj1.HaveStore(Sid) == 1)
  107. {
  108. MessageBox("此仓库信息出现在出库单中,不能删除");
  109. return;
  110. }
  111. CProInStore obj2;
  112. if (obj2.HaveStore(Sid) == 1)
  113. {
  114. MessageBox("此仓库信息出现在库存产品信息中,不能删除");
  115. return;
  116. }
  117. if (MessageBox("是否删除当前记录","请确定", MB_YESNO) == IDYES)
  118. {
  119. CStorehouse sh;
  120. sh.sql_delete(Sid);
  121. Refresh_Data();
  122. }
  123. }
  124. BOOL CStoreHouseManDlg::OnInitDialog() 
  125. {
  126. CDialog::OnInitDialog();
  127. // TODO: Add extra initialization here
  128. Refresh_Data();
  129. return TRUE;  // return TRUE unless you set the focus to a control
  130.               // EXCEPTION: OCX Property Pages should return FALSE
  131. }