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

📄 familyinfordlg.cpp

📁 VC++和ACCESS使用ADO连接
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// FamilyInforDlg.cpp : implementation file
//

#include "stdafx.h"
#include "MinistryPerson.h"
#include "FamilyInforDlg.h"

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

/////////////////////////////////////////////////////////////////////////////

FamilyInforDlg::FamilyInforDlg(CWnd* pParent /*=NULL*/) 
	: CDialog(FamilyInforDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(FamilyInforDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}

void FamilyInforDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(FamilyInforDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(FamilyInforDlg, CDialog)
	//{{AFX_MSG_MAP(FamilyInforDlg)
	ON_BN_CLICKED(IDC_BUTTON_FAMILY_SAVE, OnButtonFamilySave)
	ON_BN_CLICKED(IDC_BUTTON_FAMILY_MODIFY, OnButtonFamilyModify)
	ON_BN_CLICKED(IDC_BUTTON_FAMILY_MORE, OnButtonWriteMore)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// FamilyInforDlg message handlers

BOOL FamilyInforDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	if (!g_bQueryToShow)
	{
		GetDlgItem(IDC_BUTTON_FAMILY_SAVE)->EnableWindow(TRUE);
		GetDlgItem(IDC_BUTTON_FAMILY_MODIFY)->EnableWindow(FALSE);
		CtrlStatus_Family(TRUE, FALSE);
		m_bSaveNotModify_Family = TRUE;
	}
	else
	{				
		GetDlgItem(IDC_BUTTON_FAMILY_SAVE)->EnableWindow(FALSE);
		GetDlgItem(IDC_BUTTON_FAMILY_MODIFY)->EnableWindow(TRUE);
		CtrlStatus_Family(FALSE, FALSE);
		GetFamilyInfoFromDB();
		m_bSaveNotModify_Family = FALSE;
	}

	return TRUE;  
}

/*********************************************************************
函数说明:	  保存按钮
函数参数:	  
*********************************************************************/
void FamilyInforDlg::OnButtonFamilySave() 
{
	if (!CheckAllInfo_Family())
	{
		return;
	}

	if (!m_bSaveNotModify_Family)	// 修改状态
	{
		if (g_bQueryToShow)
		{
			FamilyModify(g_nEmployee_ID, g_strEmployee_IDCard);
		}
		else
		{
			FamilyModify(g_In_nID, g_In_strIDCard);
		}		
	}
	else							// 保存状态
	{
		FamilySave(g_In_nID, g_In_strIDCard);
	}
}

/*********************************************************************
函数说明:	  修改按钮
函数参数:	  
*********************************************************************/
void FamilyInforDlg::OnButtonFamilyModify() 
{	
	CtrlStatus_Family(TRUE, TRUE);
	m_bSaveNotModify_Family = FALSE;
	GetDlgItem(IDC_BUTTON_FAMILY_SAVE)->EnableWindow(TRUE);
	GetDlgItem(IDC_BUTTON_FAMILY_MODIFY)->EnableWindow(FALSE);	
}

/*********************************************************************
函数说明:	  保存
函数参数:	  
*********************************************************************/
BOOL FamilyInforDlg::FamilySave(int nKeyID, CString strKeyIDCard) 
{
	CADOOperation ADOdbo;
	CString SQL;
	
 	SQL.Format("insert into Employee_FamilyInfor_Table \
				values (%d,  '%s', \
						'%s', '%s', '%s', '%s', '%s', '%s', \
						'%s', '%s', '%s', '%s', '%s', '%s', \
						'%s', '%s', '%s', '%s', '%s', '%s', \
						'%s', '%s', '%s', '%s', '%s', '%s', \
						'%s', '%s', '%s', '%s', '%s', '%s')",
						nKeyID, strKeyIDCard,
						m_F_strTitle1, m_F_strRel1, m_F_strComp1, m_F_strDep1, m_F_strSta1, m_F_strLinkTel1,
						m_F_strTitle2, m_F_strRel2, m_F_strComp2, m_F_strDep2, m_F_strSta2, m_F_strLinkTel2,
						m_F_strTitle3, m_F_strRel3, m_F_strComp3, m_F_strDep3, m_F_strSta3, m_F_strLinkTel3,
						m_F_strTitle4, m_F_strRel4, m_F_strComp4, m_F_strDep4, m_F_strSta4, m_F_strLinkTel4,
						m_F_strTitle5, m_F_strRel5, m_F_strComp5, m_F_strDep5, m_F_strSta5, m_F_strLinkTel5);
	ADOdbo.OpenRecordset(SQL);
	ADOdbo.CloseRecorset();

	CtrlStatus_Family(FALSE, FALSE);
	GetDlgItem(IDC_BUTTON_FAMILY_SAVE)->EnableWindow(FALSE);
	GetDlgItem(IDC_BUTTON_FAMILY_MODIFY)->EnableWindow(TRUE);
	MessageBox("员工 【家庭信息】 录入成功!", "成功", MB_OK | MB_ICONEXCLAMATION);

	return TRUE;
}

/*********************************************************************
函数说明:	  修改
函数参数:	  
*********************************************************************/
BOOL FamilyInforDlg::FamilyModify(int nKeyID, CString strKeyIDCard) 
{
	CADOOperation ADOdbo;
	CString SQL; 
	CString strFields[] = {"employee_ID", "employee_IDCard"};
	CString strRetValue[2];
	strRetValue[0] = "NOID";
	strRetValue[1] = "NOIDCARD";

	SQL.Format("select employee_ID, employee_IDCard from Employee_FamilyInfor_Table \
				where employee_ID = %d and employee_IDCard = '%s'", nKeyID, strKeyIDCard);
	ADOdbo.OpenRecordset(SQL);
	ADOdbo.GetFieldsValue(strFields, 2, strRetValue, FALSE);
	ADOdbo.CloseRecorset();
	if (strRetValue[0] == "NOID" && strRetValue[1] == "NOIDCARD")
	{
		FamilySave(nKeyID, strKeyIDCard);
		return TRUE;
	}

 	SQL.Format("update Employee_FamilyInfor_Table \
				set FamilyInfor_Title1 = '%s', FamilyInfor_Relation1 = '%s', FamilyInfor_Company1 = '%s', FamilyInfor_Department1 = '%s', FamilyInfor_Station1 = '%s', FamilyInfor_LinkTel1 = '%s', \
				    FamilyInfor_Title2 = '%s', FamilyInfor_Relation2 = '%s', FamilyInfor_Company2 = '%s', FamilyInfor_Department2 = '%s', FamilyInfor_Station2 = '%s', FamilyInfor_LinkTel2 = '%s', \
					FamilyInfor_Title3 = '%s', FamilyInfor_Relation3 = '%s', FamilyInfor_Company3 = '%s', FamilyInfor_Department3 = '%s', FamilyInfor_Station3 = '%s', FamilyInfor_LinkTel3 = '%s', \
					FamilyInfor_Title4 = '%s', FamilyInfor_Relation4 = '%s', FamilyInfor_Company4 = '%s', FamilyInfor_Department4 = '%s', FamilyInfor_Station4 = '%s', FamilyInfor_LinkTel4 = '%s', \
					FamilyInfor_Title5 = '%s', FamilyInfor_Relation5 = '%s', FamilyInfor_Company5 = '%s', FamilyInfor_Department5 = '%s', FamilyInfor_Station5 = '%s', FamilyInfor_LinkTel5 = '%s' \
				 where employee_ID = %d AND employee_IDCard = '%s'",				 
				 m_F_strTitle1, m_F_strRel1, m_F_strComp1, m_F_strDep1, m_F_strSta1, m_F_strLinkTel1,
				 m_F_strTitle2, m_F_strRel2, m_F_strComp2, m_F_strDep2, m_F_strSta2, m_F_strLinkTel2, 
				 m_F_strTitle3, m_F_strRel3, m_F_strComp3, m_F_strDep3, m_F_strSta3, m_F_strLinkTel3,
				 m_F_strTitle4, m_F_strRel4, m_F_strComp4, m_F_strDep4, m_F_strSta4, m_F_strLinkTel4,
				 m_F_strTitle5, m_F_strRel5, m_F_strComp5, m_F_strDep5, m_F_strSta5, m_F_strLinkTel5,
				 nKeyID, strKeyIDCard);
	ADOdbo.OpenRecordset(SQL);
	ADOdbo.CloseRecorset();

	CtrlStatus_Family(FALSE, FALSE);
	GetDlgItem(IDC_BUTTON_FAMILY_SAVE)->EnableWindow(FALSE);
	GetDlgItem(IDC_BUTTON_FAMILY_MODIFY)->EnableWindow(TRUE);
	MessageBox("员工 【家庭信息】 修改成功!", "成功", MB_OK | MB_ICONEXCLAMATION);
	return TRUE;
}

/*********************************************************************
函数说明:	 
函数参数:	  
*********************************************************************/
void FamilyInforDlg::OnButtonWriteMore() 
{
	CString str;
	
	if(GetDlgItemText(IDC_BUTTON_FAMILY_MORE, str), str == "填写更多>>")
	{
		SetDlgItemText(IDC_BUTTON_FAMILY_MORE, "关闭填写<<");
		CtrlStatus_Family(TRUE, TRUE);
	}
	else
	{
		SetDlgItemText(IDC_BUTTON_FAMILY_MORE, "填写更多>>");		
 		CtrlStatus_Family(TRUE, FALSE);
	}
}

/*********************************************************************
函数说明:	   使内容可以编辑
函数参数:	   
*********************************************************************/
void FamilyInforDlg::CtrlStatus_Family(BOOL bStatus, BOOL bMore)
{
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_TITLE1))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_TITLE2))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_RELATION1))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_RELATION2))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_LINKTEL1))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_LINKTEL2))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_DEP1))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_DEP2))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_STATION1))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_STATION2))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_COM1))->EnableWindow(bStatus);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_COM2))->EnableWindow(bStatus);


	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_TITLE3))->EnableWindow(bMore);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_TITLE4))->EnableWindow(bMore);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_TITLE5))->EnableWindow(bMore);
	
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_RELATION3))->EnableWindow(bMore);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_RELATION4))->EnableWindow(bMore);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_RELATION5))->EnableWindow(bMore);
	
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_LINKTEL3))->EnableWindow(bMore);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_LINKTEL4))->EnableWindow(bMore);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_LINKTEL5))->EnableWindow(bMore);
	
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_DEP3))->EnableWindow(bMore);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_DEP4))->EnableWindow(bMore);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_DEP5))->EnableWindow(bMore);
	
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_STATION3))->EnableWindow(bMore);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_STATION4))->EnableWindow(bMore);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_STATION5))->EnableWindow(bMore);
	
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_COM3))->EnableWindow(bMore);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_COM4))->EnableWindow(bMore);
	((CEdit*)GetDlgItem(IDC_EDIT_FAMILY_COM5))->EnableWindow(bMore);
	GetDlgItem(IDC_BUTTON_FAMILY_MORE)->EnableWindow(bStatus);
}

/*********************************************************************
函数说明:	  显示家庭信息

⌨️ 快捷键说明

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