⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cashieroperationdlg.cpp

📁 实现超市收银管理.能实现超市的正常收银情况........
💻 CPP
📖 第 1 页 / 共 3 页
字号:
				if(m_Cashier.IsOpen())
					m_Cashier.Close();
				AfxMessageBox("该记录不存在,无法删除!");				
			}
		}
		catch(CDBException *e)
		{
			e->ReportError();
			return;
		}
		
		break;
	case CASHIER_EDIT:
		if (m_strEdit1.IsEmpty())
		{
			AfxMessageBox("请输入收银员编号!");
			return;
		}
		if (m_strEdit3 != "男" && m_strEdit3 != "女" && m_strEdit3.GetLength())
		{
			AfxMessageBox("请正确输入收银员性别!");
			return;
		}
		if (m_strEdit5.GetLength() < 6 && m_strEdit5.GetLength() != 0 )
		{
			AfxMessageBox("密码必须是6位以上!");
			return;
		}

		try
		{
			if(m_Cashier.IsOpen())
				m_Cashier.Close();

			if(!m_strEdit4.IsEmpty())
			{
				m_Cashier.m_strFilter.Format("Clogname = '%s'",m_strEdit4);

				m_Cashier.Open(CCashierRecordSet::snapshot,NULL,CCashierRecordSet::none);
				if(!m_Cashier.IsEOF())
				{
					m_Cashier.Close();
					AfxMessageBox("收银员登录名已经被使用,请更换!");
					return;
				}
				if(m_Cashier.IsOpen())
					m_Cashier.Close();
			}
			
			m_Cashier.m_strFilter.Format("Cno = '%s'",m_strEdit1);

			m_Cashier.Open(CCashierRecordSet::snapshot,NULL,CCashierRecordSet::none);
			if(m_Cashier.IsEOF())
			{
				m_Cashier.Close();
				AfxMessageBox("不存在此收银员!");
				return;
			}

			if(m_strEdit5 == m_strEdit6)
			{
				m_Cashier.Edit();
				if(!m_strEdit2.IsEmpty())
					m_Cashier.m_Cname = m_strEdit2;
				if(!m_strEdit3.IsEmpty())
					m_Cashier.m_Csex = m_strEdit3;
				if(!m_strEdit4.IsEmpty())
					m_Cashier.m_Clogname = m_strEdit4;
				if(!m_strEdit5.IsEmpty())
					m_Cashier.m_Clogpass = m_strEdit5;

				if(m_Cashier.CanUpdate())
				{
					bRet = m_Cashier.Update();
					AfxMessageBox("收银员信息修改成功!");
				}
			}
			else
			{
				AfxMessageBox("密码输入不一致!");
			}

			if(m_Cashier.IsOpen())
					m_Cashier.Close();
		}
		catch (CDBException* e)
		{
			e->ReportError();
			//e->Delete();
			return;
		}


		break;
	case CASHIER_QUERY:
		if (m_strEdit3 != "男" && m_strEdit3 != "女" && m_strEdit3.GetLength())
		{
			AfxMessageBox("请正确输入收银员性别!");
			return;
		}
		try
		{
			if(m_Cashier.IsOpen())
				m_Cashier.Close();

			if(m_strEdit1.GetLength())
			{
				if(bFirst)
					m_Cashier.m_strFilter += " and ";
				strFilter.Format("Cno = '%s'",m_strEdit1);
				m_Cashier.m_strFilter += strFilter;
				bFirst = TRUE;
			}

			if(m_strEdit2.GetLength())
			{
				if(bFirst)
					m_Cashier.m_strFilter += " and ";
				strFilter.Format("Cname = '%s'",m_strEdit2);
				m_Cashier.m_strFilter += strFilter;
				bFirst = TRUE;
			}

			if(m_strEdit3.GetLength())
			{
				if(bFirst)
					m_Cashier.m_strFilter += " and ";
				strFilter.Format("Csex = '%s'",m_strEdit3);
				m_Cashier.m_strFilter += strFilter;
				bFirst = TRUE;
			}

			if(m_strEdit4.GetLength())
			{
				if(bFirst)
					m_Cashier.m_strFilter += " and ";
				strFilter.Format("Clogname = '%s'",m_strEdit4);
				m_Cashier.m_strFilter += strFilter;
				bFirst = TRUE;
			}

			m_Cashier.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);

			if(m_Cashier.IsEOF())
			{
				AfxMessageBox("没有满足条件的记录!");
			}
			i=0;
			while (!m_Cashier.IsEOF())
			{
				m_Frm->m_ListView->ctl->InsertItem(i,m_Cashier.m_Cno);
				m_Frm->m_ListView->ctl->SetItemText(i,1,m_Cashier.m_Cname);
				m_Frm->m_ListView->ctl->SetItemText(i,2,m_Cashier.m_Csex);
				m_Frm->m_ListView->ctl->SetItemText(i,3,m_Cashier.m_Clogname);

				m_Cashier.MoveNext();
				i++;
			}

			if(m_Cashier.IsOpen())
				m_Cashier.Close();
		}
		catch (CDBException* e)
		{
			e->ReportError();
			//e->Delete();
			return;
		}
		break;


	case CUSTOMER_ADD:
		if (m_strEdit1.IsEmpty())
		{
			AfxMessageBox("请输入顾客编号!");
			return;
		}

		if (m_strEdit2.IsEmpty())
		{
			AfxMessageBox("请输入顾客姓名!");
			return;
		}
		if (m_strEdit3 != "男" && m_strEdit3 != "女" )
		{
			AfxMessageBox("请正确输入收银员性别!");
			return;
		}
		try
		{
			if(m_Customer.IsOpen())
				m_Customer.Close();
			
			m_Customer.m_strFilter.Format("Cno = '%s'",m_strEdit1);

			m_Customer.Open(CCustomerRecordSet::snapshot,NULL,CCustomerRecordSet::none);
			if(!m_Customer.IsEOF())
			{
				m_Customer.Close();
				AfxMessageBox("此顾客编号已经存在!");
				return;
			}

			if(m_Customer.IsOpen())
				m_Customer.Close();

			m_Customer.m_strFilter.Format(_T(""));

			m_Customer.Open(CCustomerRecordSet::snapshot,NULL,CCustomerRecordSet::none);

// 				CTime time;
// 				time = CTime::GetCurrentTime();
// 				int nYear = time.GetYear();
// 				int nMonth = time.GetMonth();
// 				int nDay = time.GetDay();
/*				CString date = time.Format("%Y-%m-%d");*/

				m_Customer.AddNew();
				m_Customer.m_Cno = m_strEdit1;
				m_Customer.m_Cname = m_strEdit2;
				m_Customer.m_Csex = m_strEdit3;
				//lead to access violation,but the database is updated correctly
				//m_Customer.m_Creg = time;
				m_Customer.m_Cactive = _T("是");
				m_Customer.m_Cconsumption = _T("0.00");

				if(m_Customer.CanUpdate())
				{
					bRet = m_Customer.Update();
					AfxMessageBox("添加新顾客信息成功!");
				}


				if(m_Customer.IsOpen())
					m_Customer.Close();
		}
		catch (CDBException* e)
		{
			e->ReportError();
			//e->Delete();
			return;
		}
		catch (CException* e)
		{
			e->Delete();
			return;
		}
		break;

	case CUSTOMER_DELETE:
		if (m_strEdit3 != "男" && m_strEdit3 != "女" && m_strEdit3.GetLength())
		{
			AfxMessageBox("请正确输入收银员性别!");
			return;
		}

		try{
			if(m_Customer.IsOpen())
				m_Customer.Close();

			if(m_strEdit1.GetLength())
			{
				if(bFirst)
					m_Customer.m_strFilter += " and ";
				strFilter.Format("Cno = '%s'",m_strEdit1);
				m_Customer.m_strFilter += strFilter;
				bFirst = TRUE;
			}

			if(m_strEdit2.GetLength())
			{
				if(bFirst)
					m_Customer.m_strFilter += " and ";
				strFilter.Format("Cname = '%s'",m_strEdit2);
				m_Customer.m_strFilter += strFilter;
				bFirst = TRUE;
			}

			if(m_strEdit3.GetLength())
			{
				if(bFirst)
					m_Customer.m_strFilter += " and ";
				strFilter.Format("Csex = '%s'",m_strEdit3);
				m_Customer.m_strFilter += strFilter;
				bFirst = TRUE;
			}

			m_Customer.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
			

			if (m_Customer.IsOpen() && !m_Customer.IsEOF())
			{
				m_Customer.Delete();
				if(m_Customer.IsOpen())
					m_Customer.Close();
				AfxMessageBox("删除成功!");
			}
			else
			{
				if(m_Customer.IsOpen())
					m_Customer.Close();
				AfxMessageBox("该记录不存在,无法删除!");				
			}
		}
		catch(CDBException *e)
		{
			e->ReportError();
			return;
		}
		break;

	case CUSTOMER_EDIT:
		if (m_strEdit3 != "男" && m_strEdit3 != "女" && m_strEdit3.GetLength())
		{
			AfxMessageBox("请正确输入收银员性别!");
			return;
		}
		if (m_strEdit1.IsEmpty())
		{
			AfxMessageBox("请输入顾客编号!");
			return;
		}

		try
		{
			if(m_Customer.IsOpen())
				m_Customer.Close();
			
			m_Customer.m_strFilter.Format("Cno = '%s'",m_strEdit1);

			m_Customer.Open(CCustomerRecordSet::snapshot,NULL,CCustomerRecordSet::none);
			if(m_Customer.IsEOF())
			{
				m_Customer.Close();
				AfxMessageBox("不存在此顾客!");
				return;
			}

				m_Customer.Edit();
				if(!m_strEdit2.IsEmpty())
					m_Customer.m_Cname = m_strEdit2;
				if(!m_strEdit3.IsEmpty())
					m_Customer.m_Csex = m_strEdit3;
				if(!m_strEdit4.IsEmpty())
					m_Customer.m_Cconsumption = m_strEdit4;

				if(m_Customer.CanUpdate())
				{
					bRet = m_Customer.Update();
					AfxMessageBox("修改顾客信息成功!");
				}

			if(m_Customer.IsOpen())
					m_Customer.Close();
		}
		catch (CDBException* e)
		{
			e->ReportError();
			//e->Delete();
			return;
		}
		break;

	case CUSTOMER_QUERY:
		if (m_strEdit3 != "男" && m_strEdit3 != "女" && m_strEdit3.GetLength())
		{
			AfxMessageBox("请正确输入收银员性别!");
			return;
		}

		try
		{
			if(m_Customer.IsOpen())
				m_Customer.Close();

			if(m_strEdit1.GetLength())
			{
				if(bFirst)
					m_Customer.m_strFilter += " and ";
				strFilter.Format("Cno = '%s'",m_strEdit1);
				m_Customer.m_strFilter += strFilter;
				bFirst = TRUE;
			}

			if(m_strEdit2.GetLength())
			{
				if(bFirst)
					m_Customer.m_strFilter += " and ";
				strFilter.Format("Cname = '%s'",m_strEdit2);
				m_Customer.m_strFilter += strFilter;
				bFirst = TRUE;
			}

			if(m_strEdit3.GetLength())
			{
				if(bFirst)
					m_Customer.m_strFilter += " and ";
				strFilter.Format("Csex = '%s'",m_strEdit3);
				m_Customer.m_strFilter += strFilter;
				bFirst = TRUE;
			}

			m_Customer.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);

			if(m_Customer.IsEOF())
			{
				AfxMessageBox("没有满足条件的记录!");
			}
			CString strReg;
			i=0;
			while (!m_Customer.IsEOF())
			{
				m_Frm->m_ListView->ctl->InsertItem(i,m_Customer.m_Cno);
				m_Frm->m_ListView->ctl->SetItemText(i,1,m_Customer.m_Cname);
				m_Frm->m_ListView->ctl->SetItemText(i,2,m_Customer.m_Csex);
				CTime cReg = m_Customer.m_Creg;
//  				int nYear = cReg.GetYear();
//  				int nMonth = cReg.GetMonth();
//  				int nDay = cReg.GetDay();
				CString strReg = cReg.Format("%Y-%m-%d");
				m_Frm->m_ListView->ctl->SetItemText(i,3,strReg);
				m_Frm->m_ListView->ctl->SetItemText(i,4,m_Customer.m_Cactive);
				if (m_Customer.m_Cconsumption.GetAt(0) == '.')
				{
					m_Customer.m_Cconsumption = "0" + m_Customer.m_Cconsumption;
				}
				m_Frm->m_ListView->ctl->SetItemText(i,5,m_Customer.m_Cconsumption);
				m_Customer.MoveNext();
				i++;
			}

			if(m_Customer.IsOpen())
				m_Customer.Close();
		}
		catch (CDBException* e)
		{
			e->ReportError();
			//e->Delete();
			return;
		}
		break;

		break;

	case GOODS_ADD:
		if (m_strEdit1.IsEmpty())
		{
			AfxMessageBox("请输入商品编号!");
			return;
		}
		if (m_strEdit2.IsEmpty())
		{
			AfxMessageBox("请输入商品名称!");
			return;
		}
		if (m_strEdit3.IsEmpty())
		{
			AfxMessageBox("请输入商品单价!");
			return;
		}
		if (m_strEdit4.IsEmpty())
		{
			AfxMessageBox("请输入商品数量!");
			return;
		}
		try
		{
			if(m_Goods.IsOpen())
				m_Goods.Close();
			
			m_Goods.m_strFilter.Format("Gno = '%s'",m_strEdit1);

			m_Goods.Open(CGoodsRecordSet::snapshot,NULL,CGoodsRecordSet::none);
			if(!m_Goods.IsEOF())
			{
				m_Goods.Close();
				AfxMessageBox("此商品编号已经存在!");
				return;
			}


				m_Goods.AddNew();
				m_Goods.m_Gno = m_strEdit1;
				m_Goods.m_Gname = m_strEdit2;
				m_Goods.m_Gprice = m_strEdit3;
				//lead to access violation,but the database is updated correctly
				//m_Goods.m_Creg = time;
				char cStore[20];
				for (int i=0;i<m_strEdit4.GetLength();i++)
				{
					cStore[i] = m_strEdit4.GetAt(i);
				}
				int nStore = atoi(cStore);
				m_Goods.m_Gstorage = nStore;

				if(m_Goods.CanUpdate())
				{
					bRet = m_Goods.Update();
					AfxMessageBox("添加新商品信息成功!");
				}


				if(m_Goods.IsOpen())
					m_Goods.Close();
		}
		catch (CDBException* e)
		{
			e->ReportError();
			//e->Delete();
			return;
		}
		catch (CException* e)
		{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -