📄 dlg.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 + -