📄 database_main.cpp
字号:
}
if(sort_mid=="标准滚刀")
{
symbol=1;
if(Edit_Data_Gain("standard_hob_table","齿轮零件号")==FALSE) return;
Standard_hob_Modify();
return;
}
if(sort_mid=="一次修缘、带凸台")
{
symbol=1;
if(Edit_Data_Gain("tiqian_tutai_hob_table","齿轮零件号")==FALSE) return;
Tiqian_Tutai_Modify();
return;
}
if(sort_mid=="一次修缘、不带凸台")
{
symbol=1;
if(Edit_Data_Gain("tiqian_no_tutai_hob_table","齿轮零件号")==FALSE) return;
Tiqian_No_Tutai_Modify();
return;
}
}
void CDatabase_main::OnMENUITEMinquery()
{
// TODO: Add your command handler code here
OnBUTTONask();
}
void CDatabase_main::OnMENUITEMrefresh()
{
// TODO: Add your command handler code here
OnBTNall();
}
void CDatabase_main::Standard_Hob_Append()
{
CSheet_Standard_Append m_sheet_standard_append("标准滚刀",this,0);
m_sheet_standard_append.m_psh.dwFlags|=PSH_NOAPPLYNOW; //取消“应用”按钮
if(m_sheet_standard_append.DoModal()!=1)
{
DataShow("standard_hob_table");
}
}
void CDatabase_main::Tiqian_Tutai_Append()
{
CSheet_Tiqian_Tutai_Append m_sheet_tiqian_tutai_append("剃前滚刀",this,0);
m_sheet_tiqian_tutai_append.m_psh.dwFlags|=PSH_NOAPPLYNOW; //取消“应用”按钮
if(m_sheet_tiqian_tutai_append.DoModal()!=1)
{
DataShow("tiqian_tutai_hob_table");
}
}
void CDatabase_main::Tiqian_No_Tutai_Append()
{
CSheet_Tiqian_No_Tutai_Append m_sheet_tiqian_no_tutai_append("剃前滚刀",this,0);
m_sheet_tiqian_no_tutai_append.m_psh.dwFlags|=PSH_NOAPPLYNOW; //取消“应用”按钮
if(m_sheet_tiqian_no_tutai_append.DoModal()!=1)
{
DataShow("tiqian_no_tutai_hob_table");
}
}
void CDatabase_main::Standard_hob_Modify()
{
CSheet_Standard_Append m_sheet_standard_append("标准滚刀",this,0);
m_sheet_standard_append.m_psh.dwFlags|=PSH_NOAPPLYNOW; //取消“应用”按钮
if(m_sheet_standard_append.DoModal()!=1)
{
DataShow("standard_hob_table");
}
}
void CDatabase_main::Tiqian_Tutai_Modify()
{
CSheet_Tiqian_Tutai_Append m_sheet_tiqian_tutai_append("剃前滚刀",this,0);
m_sheet_tiqian_tutai_append.m_psh.dwFlags|=PSH_NOAPPLYNOW; //取消“应用”按钮
if(m_sheet_tiqian_tutai_append.DoModal()!=1)
{
DataShow("tiqian_tutai_hob_table");
}
}
void CDatabase_main::Tiqian_No_Tutai_Modify()
{
CSheet_Tiqian_No_Tutai_Append m_sheet_tiqian_no_tutai_append("剃前滚刀",this,0);
m_sheet_tiqian_no_tutai_append.m_psh.dwFlags|=PSH_NOAPPLYNOW; //取消“应用”按钮
if(m_sheet_tiqian_no_tutai_append.DoModal()!=1)
{
DataShow("tiqian_no_tutai_hob_table");
}
}
bool CDatabase_main::Edit_Data_Gain(CString table_name,CString attri)
{
if(!m_pdatabase->IsOpen()) {MessageBox("数据获取失败!","提示",MB_ICONERROR+MB_OK);return FALSE;}
UINT uSelectedCount=m_list_control.GetSelectedCount();
if(uSelectedCount>1||uSelectedCount==0)
{
if(uSelectedCount==0)
{
MessageBox("要选择一条记录!","提示",MB_ICONWARNING+MB_OK);
return FALSE;
}
if(uSelectedCount>1)
{
MessageBox("只能选择一条记录!","提示",MB_ICONWARNING+MB_OK);
return FALSE;
}
}
else
{
return TRUE;
}
return FALSE;
}
void CDatabase_main::OnBTNall()
{
// TODO: Add your control notification handler code here
if(sort_mid=="")
{
MessageBox("请先选择刀具类型!","提示",MB_ICONWARNING+MB_OK);
return;
}
ClearList();
ClearList_Gear();
CString table_name;
if(sort_mid=="标准滚刀")
{
table_name="standard_hob_table";
}
if(sort_mid=="一次修缘、带凸台")
{
table_name="tiqian_tutai_hob_table";
}
if(sort_mid=="一次修缘、不带凸台")
{
table_name="tiqian_no_tutai_hob_table";
}
CString strSQL;
strSQL="select * from "+table_name;
ShowInformation(strSQL);
return;
}
void CDatabase_main::OnBUTTONask()
{
// TODO: Add your control notification handler code here
if(sort_mid=="")
{
MessageBox("请先选择刀具类型!","提示",MB_ICONWARNING+MB_OK);
return;
}
ClearList();
ClearList_Gear();
CString strSQL;
CString table_name;
if(sort_mid=="标准滚刀")
{
table_name="standard_hob_table";
}
if(sort_mid=="一次修缘、带凸台")
{
table_name="tiqian_tutai_hob_table";
}
if(sort_mid=="一次修缘、不带凸台")
{
table_name="tiqian_no_tutai_hob_table";
}
CString attri,rela;
m_combo_attri.GetWindowText(attri);
m_combo_rela.GetWindowText(rela);
this->UpdateData(TRUE);//m_edit_value
if(attri.IsEmpty()||rela.IsEmpty())
{
if(attri.IsEmpty())
{
MessageBox("属性不能为空,查询失败!","提示",MB_ICONERROR+MB_OK);
return;
}
else
{
MessageBox("关系不能为空,查询失败!","提示",MB_ICONERROR+MB_OK);
return;
}
}
if(attri=="齿轮零件号"||attri=="刀具号")
strSQL="select * from "+table_name+" where "+attri+rela+"'"+m_edit_value+"'";
else
strSQL="select * from "+table_name+" where "+attri+rela+m_edit_value;
if(!ShowInformation(strSQL)) MessageBox("对不起,没有您所要的数据!","提示",MB_ICONWARNING+MB_OK);
return;
}
bool CDatabase_main::append_combox(CString strSQL)
{
try
{
if(m_pset->IsOpen()) m_pset->Close();
m_pset->Open(CRecordset::dynaset,strSQL);
if(!m_pset->IsEOF())
{m_pset->MoveLast();
m_pset->MoveFirst();}
int nFieldCount=m_pset->GetODBCFieldCount();
CODBCFieldInfo fieldinfo;
for(int n=0;n<nFieldCount;n++){
m_pset->GetODBCFieldInfo(n,fieldinfo);
m_combo_attri.AddString(fieldinfo.m_strName);
}
}
catch(CDBException *e)
{
e->ReportError();
EndWaitCursor();
return FALSE;
}
return TRUE;
}
void CDatabase_main::ComboxData(CString table_name)
{
CString strSQL;
m_combo_attri.ResetContent();
strSQL="select * from "+table_name;
if(!append_combox(strSQL)) MessageBox("数据获取失败!","提示",MB_ICONERROR+MB_OK);
}
void CDatabase_main::OnMENUITEMexit()
{
// TODO: Add your command handler code here
CDatabase_main::EndDialog(0);
}
void CDatabase_main::OnDblclkLISTdata(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
OnMENUITEMmodify();
*pResult = 0;
}
void CDatabase_main::OnClickLISTdata(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
Gear_Data_Gain("gear_table","齿轮零件号");
*pResult = 0;
}
bool CDatabase_main::Gear_Data_Gain(CString table_name,CString attri)
{
if(!m_pdatabase->IsOpen()) {MessageBox("数据获取失败!","提示",MB_ICONERROR+MB_OK);return FALSE;}
UINT uSelectedCount=m_list_control.GetSelectedCount();
int nItemSel=0;
nItemSel=m_list_control.GetNextItem(nItemSel-1,LVNI_SELECTED);
CString strID,strSQL;
strID=m_list_control.GetItemText(nItemSel,0);
strSQL="select * from "+table_name+" where "+attri+"='"+strID+"'";
try
{
m_pset_gear.m_pDatabase=m_pdatabase;
if(m_pset_gear.IsOpen()) m_pset_gear.Close();
m_pset_gear.Open(CRecordset::dynaset,strSQL);
BeginWaitCursor();
if(!m_pset_gear.IsEOF())
{m_pset_gear.MoveLast();
m_pset_gear.MoveFirst();}
int nFieldCount=m_pset_gear.GetODBCFieldCount();
CODBCFieldInfo fieldinfo;
ClearList_Gear();
for(int n=0;n<nFieldCount;n++){
m_pset_gear.GetODBCFieldInfo(n,fieldinfo);
int nWidth=m_list_control1.GetStringWidth(fieldinfo.m_strName)+35;
m_list_control1.InsertColumn(n,fieldinfo.m_strName,LVCFMT_RIGHT,nWidth);
}
CString strValue;
m_pset_gear.MoveFirst();
int nCount=0;
while(!m_pset_gear.IsEOF())
{
m_list_control1.InsertItem(nCount,strValue);
for(int j=0;j<nFieldCount;j++)
{
m_pset_gear.GetFieldValue(j,strValue);
m_list_control1.SetItemText(nCount,j,strValue);
}
m_pset_gear.MoveNext();
nCount++;
}
EndWaitCursor();
}
catch(CDBException* e)
{
e->Delete();
return FALSE;
}
return TRUE;
}
void CDatabase_main::OnContextMenu(CWnd* pWnd, CPoint point)
{
// TODO: Add your message handler code here
CMenu MyMenu;
if(MyMenu.CreatePopupMenu())
{
MyMenu.AppendMenu(MF_STRING,ID_MENUITEM_gear,"齿轮参数库");
MyMenu.AppendMenu(MF_STRING,ID_MENUITEM_refresh,"刀具参数刷新");
MyMenu.AppendMenu(MF_STRING,ID_MENUITEM_append,"刀具参数计算");
MyMenu.AppendMenu(MF_STRING,ID_MENUITEM_modify,"刀具参数修改");
MyMenu.AppendMenu(MF_STRING,ID_MENUITEM_delete,"刀具参数删除");
MyMenu.AppendMenu(MF_STRING,ID_MENUITEM_inquery,"刀具参数查询");
MyMenu.TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
}
else
{
MessageBox("菜单加载失败!","提示",MB_OK);
}
}
void CDatabase_main::OnMENUITEMini()
{
// TODO: Add your command handler code here
if(MessageBox("将导致全部刀具数据被删除,是否继续?","提示",MB_ICONQUESTION+MB_OKCANCEL)!=IDOK)
return;
if(!m_pdatabase->IsOpen()) {MessageBox("数据获取失败!","提示",MB_ICONERROR+MB_OK);return;}
if(!m_pset) {MessageBox("数据获取失败!","提示",MB_ICONERROR+MB_OK);return;}
if(m_pset->IsOpen()) m_pset->Close();
CString strSQL1,strSQL2,strSQL3;
strSQL1="delete * from standard_hob_table";
strSQL2="delete * from tiqian_tutai_hob_table";
strSQL3="delete * from tiqian_no_tutai_hob_table";
m_pdatabase->BeginTrans();
try
{
m_pdatabase->ExecuteSQL(strSQL1);
m_pdatabase->ExecuteSQL(strSQL2);
m_pdatabase->ExecuteSQL(strSQL3);
m_pdatabase->CommitTrans();
}
catch(CDBException* e)
{
m_pdatabase->Rollback();
e->ReportError();
e->Delete();
return;
}
ClearList_Gear();
ClearList();
m_combo_attri.ResetContent();
GetDlgItem(IDC_EDIT_value)->SetWindowText("");
GetDlgItem(IDC_COMBO_rela)->SetWindowText("");
UpdateWindow();
}
void CDatabase_main::OnMENUITEMgear()
{
// TODO: Add your command handler code here
CGear_Para_Main gear_para_main_dialog;
gear_para_main_dialog.DoModal();
if(sort_mid=="")
{
return;
}
ClearList();
ClearList_Gear();
CString table_name;
if(sort_mid=="标准滚刀")
{
table_name="standard_hob_table";
}
if(sort_mid=="一次修缘、带凸台")
{
table_name="tiqian_tutai_hob_table";
}
if(sort_mid=="一次修缘、不带凸台")
{
table_name="tiqian_no_tutai_hob_table";
}
CString strSQL;
strSQL="select * from "+table_name;
ShowInformation(strSQL);
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -