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

📄 searchdlg.cpp

📁 这是一个简单的体检管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// SearchDlg.cpp : implementation file
//

#include "stdafx.h"
#include "HealManage.h"
#include "SearchDlg.h"
#include "AddDialog.h"
#include "TiJSet.h"
#include "StuInfoSet.h"
#include "ModDlg.h"
#include "ViewDialog.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSearchDlg dialog


CSearchDlg::CSearchDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSearchDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSearchDlg)
	m_ksh = _T("");
	m_xm = _T("");
	m_xb = 0;
	m_zylysl1 = _T("");
	m_zylysl2 = _T("");
	m_yylysl1 = _T("");
	m_yylysl2 = _T("");
	m_sj = FALSE;
	m_ggn = FALSE;
	m_xt = FALSE;
	m_kq = FALSE;
	m_eb = FALSE;
	m_wk = FALSE;
	m_nk = FALSE;
	m_xj = FALSE;
	m_sg1 = _T("");
	m_sg2 = _T("");
	m_tz1 = _T("");
	m_tz2 = _T("");
	m_ztl1 = _T("");
	m_ztl2 = _T("");
	m_ytl1 = _T("");
	m_ytl2 = _T("");
	//}}AFX_DATA_INIT
}


void CSearchDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSearchDlg)
	DDX_Control(pDX, IDC_YTL1, m_cytl);
	DDX_Control(pDX, IDC_ZTL1, m_cztl);
	DDX_Control(pDX, IDC_TZ1, m_ctz);
	DDX_Control(pDX, IDC_SG1, m_csg);
	DDX_Control(pDX, IDC_YYLYSL1, m_cyylysl);
	DDX_Control(pDX, IDC_ZYLYSL1, m_czylysl);
	DDX_Control(pDX, IDC_XM, m_cxm);
	DDX_Control(pDX, IDC_KSH, m_cksh);
	DDX_Control(pDX, IDC_SEARCHLIST, m_csearch);
	DDX_Text(pDX, IDC_KSH, m_ksh);
	DDX_Text(pDX, IDC_XM, m_xm);
	DDX_Radio(pDX, IDC_Boy_RADIO, m_xb);
	DDX_Text(pDX, IDC_ZYLYSL1, m_zylysl1);
	DDX_Text(pDX, IDC_ZYLYSL2, m_zylysl2);
	DDX_Text(pDX, IDC_YYLYSL1, m_yylysl1);
	DDX_Text(pDX, IDC_YYLYSL2, m_yylysl2);
	DDX_Check(pDX, IDC_SJ, m_sj);
	DDX_Check(pDX, IDC_GGN, m_ggn);
	DDX_Check(pDX, IDC_XT, m_xt);
	DDX_Check(pDX, IDC_KQ, m_kq);
	DDX_Check(pDX, IDC_EB, m_eb);
	DDX_Check(pDX, IDC_WK, m_wk);
	DDX_Check(pDX, IDC_NK, m_nk);
	DDX_Check(pDX, IDC_XJ, m_xj);
	DDX_Text(pDX, IDC_SG1, m_sg1);
	DDX_Text(pDX, IDC_SG2, m_sg2);
	DDX_Text(pDX, IDC_TZ1, m_tz1);
	DDX_Text(pDX, IDC_TZ2, m_tz2);
	DDX_Text(pDX, IDC_ZTL1, m_ztl1);
	DDX_Text(pDX, IDC_ZTL2, m_ztl2);
	DDX_Text(pDX, IDC_YTL1, m_ytl1);
	DDX_Text(pDX, IDC_YTL2, m_ytl2);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSearchDlg, CDialog)
	//{{AFX_MSG_MAP(CSearchDlg)
	ON_BN_CLICKED(IDC_SEARCHALL, OnSearchall)
	ON_BN_CLICKED(IDC_SKSH, OnSksh)
	ON_BN_CLICKED(IDC_SXM, OnSxm)
	ON_BN_CLICKED(IDC_DELETE, OnDelete)
	ON_BN_CLICKED(IDC_MODIFY, OnModify)
	ON_BN_CLICKED(IDC_VIEW, OnView)
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	ON_BN_CLICKED(IDC_GJSEARCH, OnGjsearch)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSearchDlg message handlers

BOOL CSearchDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
    UpdateData(FALSE);
    m_csearch.InsertColumn(0,"考生号");
	m_csearch.InsertColumn(1,"姓名");
	m_csearch.InsertColumn(2,"性别");
	m_csearch.InsertColumn(3,"毕业学校名称");
	m_csearch.InsertColumn(4,"体检序号");
	m_csearch.InsertColumn(5,"既往病史");
	m_csearch.InsertColumn(6,"体检结论");
	m_csearch.SetColumnWidth(0,60);
	m_csearch.SetColumnWidth(1,60);
	m_csearch.SetColumnWidth(2,60);
	m_csearch.SetColumnWidth(3,100);
	m_csearch.SetColumnWidth(4,60);
	m_csearch.SetColumnWidth(5,500);
	m_csearch.SetColumnWidth(6,500);
	m_csearch.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
    
    CString m_strSQL;
    CTiJSet m_recordset;
	int i=0;
	m_strSQL="select * from tjk";
	if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,m_strSQL))
	{
		MessageBox("打开数据库失败","连接失败",MB_OK);
		return FALSE;
	}
	while(!m_recordset.IsEOF())
	{
		m_csearch.InsertItem(i,m_recordset.m_ksh);
        m_csearch.SetItemText(i,1,m_recordset.m_xm);
		m_csearch.SetItemText(i,2,m_recordset.m_xb);
		m_csearch.SetItemText(i,3,m_recordset.m_byxxmc);
		m_csearch.SetItemText(i,4,m_recordset.m_tjxh);
		m_csearch.SetItemText(i,5,m_recordset.m_jwbs);
		m_csearch.SetItemText(i,6,m_recordset.m_bz);
		i++;
		m_recordset.MoveNext();
	}
    m_recordset.Close();

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

void CSearchDlg::RefreshData(CString m_strSQL)
{
	m_csearch.DeleteAllItems();
	m_csearch.SetRedraw(FALSE);
	UpdateData(TRUE);
    CTiJSet m_recordset;
	if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,m_strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return ;
	}	
	int i=0;
	while(!m_recordset.IsEOF())
	{
		m_csearch.InsertItem(i,m_recordset.m_ksh);
        m_csearch.SetItemText(i,1,m_recordset.m_xm);
		m_csearch.SetItemText(i,2,m_recordset.m_xb);
		m_csearch.SetItemText(i,3,m_recordset.m_byxxmc);
		m_csearch.SetItemText(i,4,m_recordset.m_tjxh);
		m_csearch.SetItemText(i,5,m_recordset.m_jwbs);
		m_csearch.SetItemText(i,6,m_recordset.m_bz);
		i++;
		m_recordset.MoveNext();
	}
	m_recordset.Close();
	m_csearch.SetRedraw(TRUE);
}

void CSearchDlg::OnSearchall() 
{
	// TODO: Add your control notification handler code here
	CString m_strSQL="select * from tjk";
    RefreshData(m_strSQL);
	UpdateData(FALSE);
}

void CSearchDlg::OnSksh() 
{
	// TODO: Add your control notification handler code here
	CString m_strSQL;
	CTiJSet m_recordset;
	UpdateData(TRUE);
	if(m_ksh.IsEmpty())
	{
		AfxMessageBox("请输入要查询的考生号!");
		m_cksh.SetFocus();
		return;
	}
	m_strSQL.Format("select * from tjk where ksh='%s'",m_ksh);
    if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,m_strSQL))
	{
		MessageBox("打开数据库失败","连接失败",MB_OK);
		return;
	}
	if(m_recordset.GetRecordCount()==0)
	{
		AfxMessageBox("该考生没有参加体检,请重新输入考生号!");
		m_cksh.SetFocus();
		m_ksh="";
		UpdateData(FALSE);
		return;
	}
	RefreshData(m_strSQL);
	UpdateData(FALSE);
}	

void CSearchDlg::OnSxm() 
{
	// TODO: Add your control notification handler code here
	CString m_strSQL;
	CTiJSet m_recordset;
	UpdateData(TRUE);
	if(m_xm.IsEmpty())
	{
		AfxMessageBox("请输入要查询的考生的姓名!");
		m_cxm.SetFocus();
		return;
	}
	m_strSQL.Format("select * from tjk where xm='%s'",m_xm);
    if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,m_strSQL))
	{
		MessageBox("打开数据库失败","连接失败",MB_OK);
		return;
	}
	if(m_recordset.GetRecordCount()==0)
	{
		AfxMessageBox("该考生没有参加体检,请重新输入考生号!");
		m_cksh.SetFocus();
		m_ksh="";
		UpdateData(FALSE);
		return;
	}
	RefreshData(m_strSQL);
	UpdateData(FALSE);
}

void CSearchDlg::OnDelete() 
{
	// TODO: Add your control notification handler code here
	CString m_KSH;
	CString m_strSQL;
	CTiJSet m_recordset;
	int i=m_csearch.GetSelectionMark();
	if(i<0)
	{
		MessageBox("请选择一个要删除的记录!");
		return;
	}
	m_KSH=m_csearch.GetItemText(i,0);
	if (MessageBox("是否删除该记录?","请确认", MB_YESNO) == IDYES)
	{
        m_strSQL.Format("select * from tjk where ksh='%s'",m_KSH);
		if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,m_strSQL))
		{
		    MessageBox("打开数据库失败","连接失败",MB_OK);
		    return;
		}
		m_recordset.Delete();
		m_recordset.Close();
		AfxMessageBox("成功删除此条记录!");
		m_strSQL="select * from tjk";
		RefreshData(m_strSQL);
		UpdateData(FALSE);
	}
}

void CSearchDlg::OnModify() 
{
	// TODO: Add your control notification handler code here
	CString m_KSH;
	CString m_strSQL;
	CTiJSet m_recordset;
	CString m_strBirth;
	CStuInfoSet m_stuSet;
	int i=m_csearch.GetSelectionMark();
	if(i<0)
	{
		MessageBox("请选择一个要修改的记录!");
		return;
	}
    m_KSH=m_csearch.GetItemText(i,0);
	CDialog::OnOK();
    m_strSQL.Format("select * from bjk where ksh='%s'",m_KSH);
	if(!m_stuSet.Open(AFX_DB_USE_DEFAULT_TYPE,m_strSQL))
	{
		MessageBox("打开数据库失败","连接失败",MB_OK);
		return;
	}
	CModDlg dlg;
	dlg.m_tjxh=m_recordset.m_tjxh;
	dlg.m_ksh=m_stuSet.m_ksh;
    dlg.m_xm=m_stuSet.m_xm;
	dlg.m_xb=m_stuSet.m_xbdm;
	m_strBirth.Format("%d-%d-%d",m_stuSet.m_csrq.GetYear(),m_stuSet.m_csrq.GetMonth(),m_stuSet.m_csrq.GetDay());
	dlg.m_cerq=m_strBirth;
	dlg.m_mz=m_stuSet.m_mzdm;
	dlg.m_sfzh=m_stuSet.m_sfzh;

⌨️ 快捷键说明

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