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

📄 shopdlg.cpp

📁 这是一个不错的商店管理系统
💻 CPP
📖 第 1 页 / 共 3 页
字号:
void CShopDlg::LoadData0()
{
	m_pRecordset.CreateInstance("ADODB.Recordset");
	m_pRecordset->Open("select  *  from employeeview order by empno",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
	   

    
	m_pRecordset->Move(m_nCurrentSel,_variant_t((long)adBookmarkFirst));//从第一条记录移动
	vempno = m_pRecordset->GetCollect("empno");
	vempname = m_pRecordset->GetCollect("empname");
	vsex = m_pRecordset->GetCollect("sex");
	vsalary = m_pRecordset->GetCollect("salary");
	vduty = m_pRecordset->GetCollect("duty");
	vdeptno = m_pRecordset->GetCollect("deptno");
	vdeptname = m_pRecordset->GetCollect("deptname");
	vmanagername = m_pRecordset->GetCollect("managername");
	vbirthday = m_pRecordset->GetCollect("birthday");
	vaddress = m_pRecordset->GetCollect("address");
	vtelephone = m_pRecordset->GetCollect("telephone");
	vremark = m_pRecordset->GetCollect("remark");
    UpdateData(true);//使得控件显示值
	//m_num = vNum.lVal;
//	m_name = (LPCTSTR)(_bstr_t)vName;
	//m_sex = vSex.lVal;
///	m_brithday = vBrithday.lVal;
	//m_tel=vTel.lVal;
	//m_addr=vAddr.lVal;


	m_empno = (LPCTSTR)(_bstr_t)vempno;
	m_empname = (LPCTSTR)(_bstr_t)vempname;
	m_sex = (LPCTSTR)(_bstr_t)vsex;
	m_salary = (LPCTSTR)(_bstr_t)vsalary;
	m_duty= (LPCTSTR)(_bstr_t)vduty;
	m_deptno= (LPCTSTR)(_bstr_t)vdeptno;
	m_deptname = (LPCTSTR)(_bstr_t)vdeptname;
	m_managername = (LPCTSTR)(_bstr_t)vmanagername;
	m_birthday=    (LPCTSTR)(_bstr_t)vbirthday  ;
	m_address = (LPCTSTR)(_bstr_t)vaddress;
	m_telephone= (LPCTSTR)(_bstr_t)vtelephone;
	m_remark = (LPCTSTR)(_bstr_t)vremark;
    //m_pRecordset->Move(m_nCurrentSel,_variant_t((long)adBookmarkFirst));//从第一条记录移动
	UpdateData(FALSE);//使得控件显示值
    // m_pRecordset->Close();
    // m_pRecordset = NULL;
	//UpdateData(true);
}


void CShopDlg::OnItemchangedUserlist(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	if(pNMListView->uNewState&LVIS_SELECTED)
	{
	//UpdateData(true);
	//SaveData();///保存旧数据
	m_nCurrentSel = pNMListView->iItem;
	LoadData0();///加载新数据
	//m_cdelitem.EnableWindow();
	
	}
	
	*pResult = 0;
}

/////将编辑框的数据保存到记录集与列表框
void CShopDlg::SaveData()
{
	//m_pRecordset->AddNew();
	if(m_nCurrentSel>=0)//!m_pRecordset->adoEOF && && m_bAutoSave
	{
		 
	vempno = m_empno;
	vempname = m_empname;
	vsex = m_sex;
	vsalary = m_salary;
	vduty = m_duty;
	vdeptno = m_deptno;
	vdeptname = m_deptname;
	vmanagername = m_managername;
	vbirthday = m_birthday;
	vaddress = m_address;
	vtelephone = m_telephone;
	vremark = m_remark;
		//m_pRecordset->AddNew();
		UpdateData();
		m_pRecordset->PutCollect("empno",vempno);
		m_pRecordset->PutCollect("empname",vempname);
		m_pRecordset->PutCollect("sex",vsex);
		m_pRecordset->PutCollect("salary",vsalary);
		m_pRecordset->PutCollect("duty",vduty);
		m_pRecordset->PutCollect("deptno",vdeptno);
		m_pRecordset->PutCollect("deptname",vdeptname);
		m_pRecordset->PutCollect("managername",vmanagername);
		m_pRecordset->PutCollect("birthday",vbirthday);
		m_pRecordset->PutCollect("address",vaddress);
		m_pRecordset->PutCollect("telephone",vtelephone);
		m_pRecordset->PutCollect("remark",vremark);
        m_pRecordset->Update();
	

		/*m_userlist.SetItem(m_nCurrentSel,0,LVIF_TEXT,(_bstr_t)vempno,NULL,0,0,0);
		m_userlist.SetItem(m_nCurrentSel,1,LVIF_TEXT,(_bstr_t)vempname,NULL,0,0,0);
		m_userlist.SetItem(m_nCurrentSel,2,LVIF_TEXT,(_bstr_t)vsex,NULL,0,0,0);
		m_userlist.SetItem(m_nCurrentSel,3,LVIF_TEXT,(_bstr_t)vsalary,NULL,0,0,0);
		m_userlist.SetItem(m_nCurrentSel,4,LVIF_TEXT,(_bstr_t)vduty,NULL,0,0,0);
		m_userlist.SetItem(m_nCurrentSel,5,LVIF_TEXT,(_bstr_t)vdeptno,NULL,0,0,0);
		m_userlist.SetItem(m_nCurrentSel,6,LVIF_TEXT,(_bstr_t)vdeptname,NULL,0,0,0);
		m_userlist.SetItem(m_nCurrentSel,7,LVIF_TEXT,(_bstr_t)vmanagername,NULL,0,0,0);
		m_userlist.SetItem(m_nCurrentSel,8,LVIF_TEXT,(_bstr_t)vbirthday,NULL,0,0,0);
		m_userlist.SetItem(m_nCurrentSel,9,LVIF_TEXT,(_bstr_t)vaddress,NULL,0,0,0);
		m_userlist.SetItem(m_nCurrentSel,10,LVIF_TEXT,(_bstr_t)vtelephone,NULL,0,0,0);
		m_userlist.SetItem(m_nCurrentSel,11,LVIF_TEXT,(_bstr_t)vremark,NULL,0,0,0);
            */
	}
}

 



void CShopDlg::Onadd() 
{
	bool judge;
	judge = false;

	UpdateData(true);//把控件的值传给相应的变量
	     if (m_empno == "" || m_empname == "" || m_deptno == "")
		 {
	   		 AfxMessageBox("职工编号或职工姓名或部门编号不能为空!!");
             goto tiaozhuan;
		 }
         m_pRecordset.CreateInstance("ADODB.Recordset");
		 m_pRecordset->Open("select  deptno  from deptment",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
	     if (!m_pRecordset->adoEOF)
		 {
		 vdeptno= m_pRecordset->GetCollect("deptno");
		 //vdeptname= m_pRecordset->GetCollect("deptname");
		 while(_variant_t(m_deptno) != vdeptno && !m_pRecordset->adoEOF)
		 {
			 m_pRecordset->MoveNext();
			 if(!m_pRecordset->adoEOF)
			 {
			 vdeptno= m_pRecordset->GetCollect("deptno");
			 }
		 }
		 }

         //AfxMessageBox("无此部门编号,请输入正确的部门编号!");
		 if (m_pRecordset->adoEOF)
		 {
			 AfxMessageBox("无此部门编号,请输入正确的部门编号!");
			 goto tiaozhuan;
		 }
		 

		 m_pRecordset->Close();
		 m_pRecordset = NULL;
		 //UpdateData(true);//把控件的值传给相应的变量
        //m_pRecordset1->Close();
		 //m_pRecordset1 = NULL;

		   m_pRecordset1.CreateInstance(_uuidof(Recordset));//
	       m_pRecordset1->Open("select * from employee",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
          
		 
	try
	   {
		
		   
	   	m_pRecordset1->AddNew();
		
		vempno = m_empno;
	    vempname = m_empname;
	    vsex = m_sex;
	    vsalary = m_salary;
	    vduty = m_duty;
	    vdeptno = m_deptno;
	    //vdeptname = m_deptname;
	    //vmanagername = m_managername;
	    vbirthday = m_birthday;
	    vaddress = m_address;
      	vtelephone = m_telephone;
    	vremark = m_remark;
        //UpdateData(true);

		m_pRecordset1->PutCollect("empno",vempno);
		m_pRecordset1->PutCollect("empname",vempname);
	    m_pRecordset1->PutCollect("sex",vsex);
		m_pRecordset1->PutCollect("salary",vsalary);
		m_pRecordset1->PutCollect("duty",vduty);
		m_pRecordset1->PutCollect("deptno",vdeptno);
		//m_pRecordset->PutCollect("deptname",vdeptname);
		//m_pRecordset->PutCollect("managername",vmanagername);
		m_pRecordset1->PutCollect("birthday",vbirthday);
		m_pRecordset1->PutCollect("address",vaddress);
		m_pRecordset1->PutCollect("telephone",vtelephone);
		m_pRecordset1->PutCollect("remark",vremark);
		

		//UpdateData(true);
                  
		 //m_pRecordset.CreateInstance("ADODB.Recordset");
		 //m_pRecordset->Open("insert into employee values(empno,empname,sex,salary,duty,deptno,birthday,address,telephone,remark)  ",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
	     
        //AfxMessageBox("添加记录成功!");

		 m_pRecordset1->Update();
		 
		 m_pRecordset1->Close();
		 m_pRecordset1 = NULL;
		 AfxMessageBox("添加记录成功!");
		 //重建指针,以备下次添加记录时使用     
         //m_pRecordset1.CreateInstance(_uuidof(Recordset));//
	     //m_pRecordset1->Open("select * from employee",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
         
         displayintheuserlist();
		 

		 
         
		 


	
	}
	
	   catch(_com_error e)///捕捉异常
	   {
		   
		  AfxMessageBox("此员工已存在!");///显示错误信息
		   
	   }
	   goto tiaozhuan1;

	


	/*if(m_empno.GetLength()>0 && m_empname.GetLength()>0)
	{
		m_pRecordset->AddNew();
		m_nCurrentSel = m_userlist.InsertItem(0xffff,"");
		SaveData();///保存数据到记录集和列表框
		m_userlist.SetItemState(m_nCurrentSel,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
		m_userlist.SetHotItem(m_nCurrentSel);
		m_userlist.SetFocus();
	}  */
     tiaozhuan: 
	   m_deptno = "";
	   UpdateData(false);

tiaozhuan1:
	   try {}
	   catch(_com_error e)///捕捉异常
	   {
		   
		  //AfxMessageBox("存储数据失败!");///显示错误信息
		   
	   }



	   //else
		//AfxMessageBox("职工编号和职工姓名不能为空!!");
	// TODO: Add your control notification handler code here
	
}

void CShopDlg::OnEditchangemode1() 
{

	
	if (m_mode1=="出生日期")
		mode1="birthday";
	if (m_mode1=="所在部门名称")
		mode1="deptname";
    if (m_mode1=="所在部门编号")
		mode1="deptno";
	if (m_mode1=="工资")
		mode1="salary";
	if (m_mode1=="姓名")
		mode1="empname";
	if (m_mode1=="职工编号")
		mode1="empno";
    AfxMessageBox("请选择查询方式!");
	//Update; 
	// TODO: Add your control notification handler code here
	
}

void CShopDlg::OnEditchangemode2() 
{
	if (m_mode2 == "出生日期")
		mode2 = "birthday";
	if (m_mode2 == "所在部门名称")
		mode2 = "deptname";
    if (m_mode2 == "所在部门编号")
		mode2 = "deptno";
	if (m_mode2 == "工资")
		mode2 = "salary";
	if (m_mode2=="姓名")
		mode2 = "empname";
	if (m_mode2 == "职工编号")
		mode2 = "empno";
	 
	// TODO: Add your control notification handler code here
	
}

void CShopDlg::Onlessthan1() 
{
	option1 = "<";
	option11 = true;
	// TODO: Add your control notification handler code here
	
}

void CShopDlg::Onequal1() 
{
	option1 = "=";
	option11 = true;
	// TODO: Add your control notification handler code here
	
}

void CShopDlg::Onmorethan1() 
{
	option1 = ">";
	option11 = true;
	// TODO: Add your control notification handler code here
	
}

void CShopDlg::Onor() 
{
	andor = "or";
	andor00 = true;
	// TODO: Add your control notification handler code here
	
}

void CShopDlg::Onand() 
{
	andor = "and";
	andor00 = true;
	// TODO: Add your control notification handler code here
	
}

void CShopDlg::Onlessthan2() 
{
	option2 = "<";
	option22 = true;
	// TODO: Add your control notification handler code here
	
}

void CShopDlg::Onequal2() 
{
	option2 = "=";
	option22 = true;
	// TODO: Add your control notification handler code here
	
}

void CShopDlg::Onmorethan2() 
{
	//AfxMessageBox("请选择查询方式!");
	option2 = ">";
	option22 = true;
	// TODO: Add your control notification handler code here
	
}

void CShopDlg::Oninquiry() 
{
	UpdateData(true);
    ///////////////////////////////////
	if (m_mode1=="出生日期")
		mode1="birthday";
	if (m_mode1=="所在部门名称")
		mode1="deptname";
    if (m_mode1=="所在部门编号")
		mode1="deptno";
	if (m_mode1=="工资")
		mode1="salary";
	if (m_mode1=="姓名")
		mode1="empname";
	if (m_mode1=="职工编号")
		mode1="empno";
	//////////////////////////////////
	if (m_mode2 == "出生日期")
		mode2 = "birthday";
	if (m_mode2 == "所在部门名称")
		mode2 = "deptname";
    if (m_mode2 == "所在部门编号")
		mode2 = "deptno";
	if (m_mode2 == "工资")
		mode2 = "salary";
	if (m_mode2=="姓名")
		mode2 = "empname";
	if (m_mode2 == "职工编号")
		mode2 = "empno"; 

	condition1 = m_condition1;
	condition2 = m_condition2;
	//if (mode1 == "" && mode2 == "")
		//AfxMessageBox("请选择查询方式!");
	//else
	if(mode1 == "" && mode2 == "")
		AfxMessageBox("请选择查询方式!");
	
	if(option11 == true && option22 == true && andor00 == true)
	{
	 sql = "select * from employeeview where " + mode1 +" "+ option1 +" " + "'"+ condition1 + "'" + " " + andor + " " + mode2 + " "+ option2 +" " + "'" + condition2 + "'";
	  
	}
	 else if(option11 == true && andor00 == false)
	 {

⌨️ 快捷键说明

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