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

📄 database_main.cpp

📁 C# 教学示例程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	}
	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 + -