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

📄 teammoddlg.cpp

📁 用ODBC接口访问access数据库管理系统
💻 CPP
字号:
// TeamModDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Team2.h"
#include "TeamModDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTeamModDlg dialog


CTeamModDlg::CTeamModDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTeamModDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTeamModDlg)
	m_start = 0;
	m_teamid = _T("");
	m_leader1 = _T("");
	m_leader2 = _T("");
	m_teamtel = _T("");
	m_number = _T("");
	//}}AFX_DATA_INIT
}


void CTeamModDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTeamModDlg)
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_start);
	DDX_Text(pDX, IDC_EDIT1, m_teamid);
	DDX_Text(pDX, IDC_EDIT4, m_leader1);
	DDX_Text(pDX, IDC_EDIT5, m_leader2);
	DDX_Text(pDX, IDC_EDIT6, m_teamtel);
	DDX_Text(pDX, IDC_EDIT2, m_number);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTeamModDlg, CDialog)
	//{{AFX_MSG_MAP(CTeamModDlg)
	ON_BN_CLICKED(IDC_TEAMADD, OnTeamaddBtn)
	ON_BN_CLICKED(IDC_TEAMMOD, OnTeammodBtn)
	ON_BN_CLICKED(IDC_TEAMQUERY, OnTeamqueryBtn)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTeamModDlg message handlers

void CTeamModDlg::OnTeamaddBtn() 
{
	// TODO: Add your control notification handler code here
	if(!db.Open("db1"))return;//连接数据库	
	CString strSQL;	
	UpdateData();
	if(m_teamid.IsEmpty()) // 学员队号为空则返回
	{
		AfxMessageBox("学员队号不能为空!");
		db.Close();
		return;
	}
	CRecordset rs(&db);
	rs.Open(CRecordset::forwardOnly,"select * from team_info where id='" + m_teamid + "'");
	if(!rs.IsEOF()) //已存在此记录
	{
		AfxMessageBox("该学员队号已存在!");
		db.Close();
		return;
	}
	rs.Close();
	rs.Open(CRecordset::forwardOnly,"select * from cab_info where id='"+m_leader1+"'");
	if(rs.IsEOF()){
		AfxMessageBox("队长的军人证号不存在,请查证后再输入!");
		Init();
	}
	rs.Close();
	rs.Open(CRecordset::forwardOnly,"select * from cab_info where id='"+m_leader2+"'");
	if(rs.IsEOF()){
		AfxMessageBox("教导员的军人证号不存在,请查证后再输入!");
		Init();
	}
	rs.Close();
	CString m_startdate=m_start.Format("%y-%m-%d");
	strSQL="insert into team_info values('"		
		+ m_teamid + "','" // 队号
		+ m_number + "','" // 人数
		+ m_startdate + "','"   //成立日期		
		+ m_leader1 + "','" // 队长证件号
		+ m_leader2 + "','" // 教导员证件号
		+ m_teamtel + "')"; //电话
	db.ExecuteSQL(strSQL);
	Init();
	AfxMessageBox("记录添加成功!");
	db.Close();	
}

void CTeamModDlg::OnTeammodBtn() 
{
	// TODO: Add your control notification handler code here
	if(!db.Open("db1"))return;//连接数据库	
	CString strSQL;	
	UpdateData();
	CString m_startdate=m_start.Format("%y-%m-%d");	
	strSQL="update ins_info set\
		number='" + m_number  //number
		+ "',start='" + m_startdate //成立日期		
		+ "',leader1='" + m_leader1// 队长
		+ "',leader2='" + m_leader2 // 教导员
		+ "',tel='" + m_teamtel //电话
		+ "' where id='" + m_teamid + "'"; // 条件
	db.ExecuteSQL(strSQL); // 执行
	AfxMessageBox("记录修改成功!");
	db.Close();
}

void CTeamModDlg::OnTeamqueryBtn() 
{
	// TODO: Add your control notification handler code here
	UpdateData(); // 更新数据
	if(!db.Open("db1"))return;//连接数据库
	int i=0;
	CRecordset rs(&db);
	CString str_start;
	CString s_id,s_no,s_ld1,s_ld2,s_tel;
	CString s_ldname1,s_ldname2;
	CDBVariant varValue;
	char buf[20];
	rs.Open(CRecordset::forwardOnly,"select * from team_info where id='"+m_teamid+"'");
	if(!rs.IsEOF()) 
	{
		//得到数据
		rs.GetFieldValue("id",s_id);
		rs.GetFieldValue("number",s_no);
		rs.GetFieldValue("start",varValue);
		sprintf(buf,"%d-%d-%d",varValue.m_pdate->year,varValue.m_pdate->month,varValue.m_pdate->day); 		
		rs.GetFieldValue("leader1",s_ld1);
		rs.GetFieldValue("leader2",s_ld2);
		rs.GetFieldValue("tel",s_tel);
		rs.Close();
		//写入编辑框
		m_number=_T(s_no);
		m_teamtel=_T(s_tel);
		CTime t(varValue.m_pdate->year,varValue.m_pdate->month,varValue.m_pdate->day,0,0,0);
		m_start=t;		

		rs.Open(CRecordset::forwardOnly,"select * from cab_info where id='"+s_ld1+"'");
		if(!rs.IsEOF()){        //该队干部存在
			rs.GetFieldValue("name",s_ldname1);
			m_leader1=_T(s_ldname1);
			rs.Close();
		}
		else{
			AfxMessageBox("该队干部不存在!");
			rs.Close();
		}
		
		rs.Open(CRecordset::forwardOnly,"select * from cab_info where id='"+s_ld2+"'");
		if(!rs.IsEOF()){        //该队干部存在
			rs.GetFieldValue("name",s_ldname2);
			m_leader2=_T(s_ldname2);
			rs.Close();
		}
		else{
			AfxMessageBox("该队干部不存在!");
			rs.Close();
		}
		UpdateData(FALSE);
		Exist=TRUE; //该学员队存在
	}
	else 
	{
		rs.Close();
		Init();
		Exist=FALSE; //该学员队不存在
	}
	if(!Exist) // 该学员队不存在
	{
		AfxMessageBox("该学员队不存在!");
		db.Close();
		return;
	}
	db.Close();	
}

void CTeamModDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	db.Close();
	CDialog::OnCancel();
}

void CTeamModDlg::Init()
{
	m_number=_T("");
	m_leader1=_T("");
	m_leader2=_T("");
	m_teamtel=_T("");
	CTime t(1980,1,1,0,0,0);
	m_start=t;
	UpdateData(FALSE);
}

BOOL CTeamModDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	Init();	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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