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

📄 dlg.cpp

📁 是自己帮一家医院做的小程序,还不完善,但很值得大家参考
💻 CPP
字号:
// Dlg.cpp : implementation file
//

#include "stdafx.h"
#include "细菌污染量监测.h"
#include "Dlg.h"
#include "_recordset.h"
#include "fields.h"
#include "field.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlg dialog


CDlg::CDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlg)
	m_air = _T("");
	m_hand = _T("");
	m_set = _T("");
	m_killer = _T("");
	m_time =CTime::GetCurrentTime() ;
	m_mater1 = _T("");
	m_check1 = FALSE;
	m_check2 = FALSE;
	m_date = _T("");
	m_check3 = FALSE;
	m_check4 = FALSE;
	m_check5 = FALSE;
	//}}AFX_DATA_INIT
}


void CDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlg)
	DDX_Control(pDX, IDC_COMBO1, m_cbmater);
	DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
	DDX_CBString(pDX, IDC_COMBO2, m_air);
	DDX_CBString(pDX, IDC_COMBO3,  m_hand);
	DDX_CBString(pDX, IDC_COMBO4,  m_set);
	DDX_Control(pDX, IDC_ADODC2, m_ado2);
	DDX_CBString(pDX, IDC_COMBO5,  m_killer);
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_time);
	DDX_CBString(pDX, IDC_COMBO1, m_mater1);
	DDX_Check(pDX, IDC_CHECK1, m_check1);
	DDX_Check(pDX, IDC_CHECK2, m_check2);
	DDX_Check(pDX, IDC_CHECK3, m_check3);
	DDX_Check(pDX, IDC_CHECK4, m_check4);
	DDX_Check(pDX, IDC_CHECK5, m_check5);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlg, CDialog)
	//{{AFX_MSG_MAP(CDlg)
	ON_BN_CLICKED(IDOK, OnRecycle)
	ON_WM_DESTROY()
	ON_BN_CLICKED(IDC_CHECK1, OnCheck1)
	ON_BN_CLICKED(IDC_CHECK2, OnCheck2)
	ON_BN_CLICKED(IDC_CHECK3, OnCheck3)
	ON_BN_CLICKED(IDC_CHECK4, OnCheck4)
	ON_BN_CLICKED(IDC_CHECK5, OnCheck5)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlg message handlers

BEGIN_EVENTSINK_MAP(CDlg, CDialog)
    //{{AFX_EVENTSINK_MAP(CDlg)
	ON_EVENT(CDlg, IDC_DATAGRID1, 201 /* AfterColUpdate */, OnAfterColUpdateDatagrid1, VTS_I2)
	ON_EVENT(CDlg, IDC_DATAGRID1, 208 /* BeforeInsert */, OnBeforeInsertDatagrid1, VTS_PI2)
	ON_EVENT(CDlg, IDC_DATAGRID1, 203 /* AfterInsert */, OnAfterInsertDatagrid1, VTS_NONE)
	//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

void CDlg::OnAfterColUpdateDatagrid1(short ColIndex) 
{
	// TODO: Add your control notification handler code here
	
	//m_datagrid.Refresh();
//	m_ado.Refresh();
}

void CDlg::OnRecycle() 
{
	
UpdateData(TRUE);
if(m_mater1==""&&m_air==""&&m_hand==""&&m_set==""&&m_killer=="")
{
	AfxMessageBox("请至少填入一项数据");
	return;
}
	C_Recordset &rst=m_ado2.GetRecordset();
	try{
	variant_t var1;
	var1=long(0);
	variant_t var="2003-12-19";
    m_date=m_time.Format("20%y-%m-%d");
    var=variant_t(m_date);

    rst.AddNew(var1,var);
	
	var1=long(1);
	var=variant_t(m_mater1);
	rst.Update(var1,var);
   var1=long(2);
	var=variant_t(m_air);
	rst.Update(var1,var);
	var1=long(3);
	var=variant_t(m_hand);
	rst.Update(var1,var);
	var1=long(4);
	var=variant_t(m_set);
	rst.Update(var1,var);
	var1=long(5);
	var=variant_t(m_killer);
	rst.Update(var1,var);

	}
catch(_com_error * e)
	{
	m_ado2.Refresh();

	return;
	
	} 
  

  m_mater1="";
  m_air="";
  m_hand="";
  m_set="";
   m_killer="";
   m_check1=0;
m_check2=0;
   m_check3=0;
m_check4=0;
   m_check5=0;

  UpdateData(FALSE);
  m_cbmater.SetFocus();

	//CFields &fds=rst.GetFields();
	//fds
	//CField fd;
	//variant_t var;
	//var=0;
	//fd=fds.GetItem(long(0));
	//fd=fds.GetItem(var);
	//var=fd.GetValue();
	//rst.AddNew();
//	rst.get
	//rst.
	//m_ado.e//
/*	UpdateData();
C_Recordset &rst=m_ado.GetRecordset();
	variant_t var1;
	var1=long(0);
	variant_t var="2003-12-19";
    m_pRecordset->AddNew();
	m_pRecordset->PutCollect(var1,var);
	var1=long(1);
	var=variant_t(m_mater);
    m_pRecordset->PutCollect(var1,var);
    var1=long(2);
	var=variant_t(m_air);
    m_pRecordset->PutCollect(var1,var);
	var1=long(3);
	var=variant_t(m_hand);
    m_pRecordset->PutCollect(var1,var);	
	var1=long(4);
	var=variant_t(m_set);
    m_pRecordset->PutCollect(var1,var);
    m_pRecordset->Update();
m_ado.Refresh();
m_datagrid.Refresh();
rst.MoveLast();*/


//m_datagrid.Refresh();
//m_ado.Refresh();
}

BOOL CDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	

CMainFrame *frm=(CMainFrame *)::AfxGetMainWnd();

    m_pRecordset.CreateInstance(__uuidof(Recordset));
	
	try{
    
		m_pRecordset->Open("SELECT * FROM tbl",                // 查询tbl表中所有字段
							frm->m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
							adOpenDynamic,
							adLockOptimistic,
							adCmdText);	
		
							
	}
   
	catch(_com_error * e)
	{	
	return FALSE;
	
	} 
	time(&t1);
    t2=NULL;
    t2=gmtime(&t1);
UpdateData(FALSE);
m_ado2.ShowWindow(SW_HIDE);
CComboBox *box=NULL;
CString type[5]={_T("物表"),_T("空气"),_T("手"),_T("医疗器械"),_T("消毒液")};
for(int i=0;i<=4;i++)
{
if(m_pRecordset->GetState())
m_pRecordset->Close();
switch(i)
{
case 0:
	box=(CComboBox *)GetDlgItem(IDC_COMBO1);
	break;
case 1:
	box=(CComboBox *)GetDlgItem(IDC_COMBO2);
	break;
case 2:
	box=(CComboBox *)GetDlgItem(IDC_COMBO3);
	break;
case 3:
	box=(CComboBox *)GetDlgItem(IDC_COMBO4);
	break;
case 4:
	box=(CComboBox *)GetDlgItem(IDC_COMBO5);
	break;
default:
	break;
}

 CString sql="SELECT distinct("+type[i]+") FROM tbl where 采集时间>=(date()-30) and 采集时间<=date()";
 
	try{
    
		m_pRecordset->Open(variant_t(sql),                // 查询tbl表中所有字段
							frm->m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
							adOpenDynamic,
							adLockOptimistic,
							adCmdText);	
		
							
	}
   
	catch(_com_error * e)
	{	
	return 1;
	
	} 
	if(!m_pRecordset->BOF)
	{m_pRecordset->MoveFirst();
while(!m_pRecordset->adoEOF)
{   variant_t var;
    CString fn;
    var=m_pRecordset->GetCollect(long(0));
	if(var.vt!=VT_NULL)
	fn=(LPCSTR)_bstr_t(var);
box->AddString(fn);
m_pRecordset->MoveNext();
}
	}

	}


 m_cbmater.SetFocus();

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlg::OnBeforeInsertDatagrid1(short FAR* Cancel) 
{
	// TODO: Add your control notification handler code here
	
}

void CDlg::OnAfterInsertDatagrid1() 
{
	

}

void CDlg::OnDestroy() 
{
	CDialog::OnDestroy();
//	if(m_pRecordset->GetState())
     //m_pRecordset->Close();
	//m_ado2.CloseWindow();

	// TODO: Add your message handler code here
	
}

void CDlg::OnCheck1() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_check1)
	{
	if((m_mater1.Find("(+)")!=-1 || m_mater1.Find("(+)")!=-1 )&& (m_mater1.Find("(+)")==m_mater1.GetLength()-3 ||  m_mater1.Find("(+)")==m_mater1.GetLength()-3))
	{return;
	} 
	else
		 m_mater1+="(+)";
	}
	else
	{if(m_mater1.Find("(+)")!=-1 || m_mater1.Find("(+)")!=-1 && m_mater1.Find("(+)")==m_mater1.GetLength()-3 ||  m_mater1.Find("(+)")==m_mater1.GetLength()-3)
	{m_mater1=m_mater1.Mid(0,(m_mater1.GetLength()-3));
	} 
	else return;
	}
	
SetDlgItemText(IDC_COMBO1,m_mater1);
	//UpdateData(FALSE);
}

void CDlg::OnCheck2() 
{
	// TODO: Add your control notification handler code here
		UpdateData(TRUE);
	if(m_check2)
	{
	if((m_air.Find("(+)")!=-1 || m_air.Find("(+)")!=-1 )&& (m_air.Find("(+)")==m_air.GetLength()-3 ||  m_air.Find("(+)")==m_air.GetLength()-3))
	{return;
	} 
	else
		 m_air+="(+)";
	}
	else
	{if(m_air.Find("(+)")!=-1 || m_air.Find("(+)")!=-1 && m_air.Find("(+)")==m_air.GetLength()-3 ||  m_air.Find("(+)")==m_air.GetLength()-3)
	{m_air=m_air.Mid(0,(m_air.GetLength()-3));
	} 
	else return;
	}
	
    SetDlgItemText(IDC_COMBO2,m_air);
	//UpdateData(FALSE);
	
}

void CDlg::OnCheck3() 
{
	// TODO: Add your control notification handler code here
		UpdateData(TRUE);
	if(m_check3)
	{
	if((m_hand.Find("(+)")!=-1 || m_hand.Find("(+)")!=-1 )&& (m_hand.Find("(+)")==m_hand.GetLength()-3 ||  m_hand.Find("(+)")==m_hand.GetLength()-3))
	{return;
	} 
	else
		 m_hand+="(+)";
	}
	else
	{if(m_hand.Find("(+)")!=-1 || m_hand.Find("(+)")!=-1 && m_hand.Find("(+)")==m_hand.GetLength()-3 ||  m_hand.Find("(+)")==m_hand.GetLength()-3)
	{m_hand=m_hand.Mid(0,(m_hand.GetLength()-3));
	} 
	else 
		return;
	}
	
SetDlgItemText(IDC_COMBO3,m_hand);
	//UpdateData(FALSE);
	
}

void CDlg::OnCheck4() 
{
	// TODO: Add your control notification handler code here
			UpdateData(TRUE);
	if(m_check4)
	{
	if((m_set.Find("(+)")!=-1 || m_set.Find("(+)")!=-1 )&& (m_set.Find("(+)")==m_set.GetLength()-3 ||  m_set.Find("(+)")==m_set.GetLength()-3))
	{return;
	} 
	else
		 m_set+="(+)";
	}
	else
	{if(m_set.Find("(+)")!=-1 || m_set.Find("(+)")!=-1 && m_set.Find("(+)")==m_set.GetLength()-3 ||  m_set.Find("(+)")==m_set.GetLength()-3)
	{m_set=m_set.Mid(0,(m_set.GetLength()-3));
	} 
	else return;
	}
	
    SetDlgItemText(IDC_COMBO4,m_set);
	//UpdateData(FALSE);
	
	
}

void CDlg::OnCheck5() 
{
	// TODO: Add your control notification handler code here
			UpdateData(TRUE);
	if(m_check5)
	{
	if((m_killer.Find("(+)")!=-1 || m_killer.Find("(+)")!=-1 )&& (m_killer.Find("(+)")==m_killer.GetLength()-3 ||  m_killer.Find("(+)")==m_killer.GetLength()-3))
	{return;
	} 
	else
		 m_killer+="(+)";
	}
	else
	{if(m_killer.Find("(+)")!=-1 || m_killer.Find("(+)")!=-1 && m_killer.Find("(+)")==m_killer.GetLength()-3 ||  m_killer.Find("(+)")==m_killer.GetLength()-3)
	{m_killer=m_killer.Mid(0,(m_killer.GetLength()-3));
	} 
	else return;
	}
	
    SetDlgItemText(IDC_COMBO5,m_killer);
	//UpdateData(FALSE);
	
	
}

⌨️ 快捷键说明

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