📄 shopdlg.cpp
字号:
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 + -