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

📄 cabmoddlg.cpp

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

#include "stdafx.h"
#include "Team2.h"
#include "CabModDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CCabModDlg dialog


CCabModDlg::CCabModDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CCabModDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCabModDlg)
	m_cabid = _T("");
	m_cabname = _T("");
	m_cabrank = _T("");
	m_cabtel = _T("");
	m_cabpswd = _T("");
	//}}AFX_DATA_INIT
}


void CCabModDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCabModDlg)
	DDX_Control(pDX, IDC_CABINFO, m_cablist);
	DDX_Text(pDX, IDC_EDIT1, m_cabid);
	DDX_Text(pDX, IDC_EDIT2, m_cabname);
	DDX_Text(pDX, IDC_EDIT3, m_cabrank);
	DDX_Text(pDX, IDC_EDIT4, m_cabtel);
	DDX_Text(pDX, IDC_EDIT5, m_cabpswd);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCabModDlg, CDialog)
	//{{AFX_MSG_MAP(CCabModDlg)
	ON_BN_CLICKED(IDC_CABADD_ADM, OnCabAddBtn)
	ON_BN_CLICKED(IDC_CABMOD_ADM, OnCabModBtn)
	ON_BN_CLICKED(IDC_CABQUERY_ADM, OnCabQueryBtn)
	ON_BN_CLICKED(IDC_CABDEL_ADM, OnCabDelBtn)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCabModDlg message handlers

void CCabModDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	m_cablist.DeleteAllItems(); // 清空列表框
	db.Close();	
	CDialog::OnCancel();
}

BOOL CCabModDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	DWORD style=m_cablist.GetExtendedStyle();
	m_cablist.SetExtendedStyle(style|LVS_EX_GRIDLINES);
	
	m_cablist.InsertColumn(0,"军人证号");
	m_cablist.InsertColumn(1,"姓名");
	m_cablist.InsertColumn(2,"衔级");
	m_cablist.InsertColumn(3,"电话");
	m_cablist.InsertColumn(4,"口令");
	RECT rectbasic;
	m_cablist.GetWindowRect(&rectbasic);
	int widbasic = rectbasic.right - rectbasic.left;
	m_cablist.SetColumnWidth(0,widbasic/5);
	m_cablist.SetColumnWidth(1,widbasic/5);
	m_cablist.SetColumnWidth(2,widbasic/5);	
	m_cablist.SetColumnWidth(3,widbasic/5);
	m_cablist.SetColumnWidth(4,widbasic/5);
	m_cablist.SetExtendedStyle(LVS_EX_FULLROWSELECT);
	Init();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CCabModDlg::OnCabAddBtn() 
{
	// TODO: Add your control notification handler code here
	if(!db.Open("db1"))return;//连接数据库
	
	CString strSQL;
	
	UpdateData();
	if(m_cabid.IsEmpty()) // 军人证号为空则返回
	{
		AfxMessageBox("军人证号不能为空!");
		db.Close();
		return;
	}
	
	CRecordset rs(&db);
	rs.Open(CRecordset::forwardOnly,"select * from cab_info where id='" + m_cabid + "'");
	if(!rs.IsEOF()) //已存在此记录
	{
		AfxMessageBox("该军人证号已存在!");
		db.Close();
		return;
	}
	strSQL="insert into cab_info values('"		
		+ m_cabid + "','" // ID
		+ m_cabname + "','" // NAME
		+ m_cabrank + "','" // 衔级
		+ m_cabtel + "')"; //电话
	db.ExecuteSQL(strSQL);
	strSQL="insert into cab_pswd values('" + m_cabid + "','" + m_cabpswd + "')";
	db.ExecuteSQL(strSQL);
	
	Init(); //重新初始化窗口
	AfxMessageBox("记录添加成功!");
	db.Close();	
}

void CCabModDlg::OnCabModBtn() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if(!db.Open("db1"))return;	
//	int i=0;
//	CRecordset rs(&db);
//	CString s_id,s_name,s_rank,s_tel,s_pswd;
	CString strSQL;
/*	rs.Open(CRecordset::forwardOnly,"select * from cab_info where id='"+m_cabid+"'");
	if(!rs.IsEOF()) 
	{
		//得到数据
		rs.GetFieldValue("id",s_id);
		rs.GetFieldValue("name",s_name);
		rs.GetFieldValue("rank",s_rank);
		rs.GetFieldValue("tel",s_tel);		
		rs.Close();
		
		//得到口令
		rs.Open(CRecordset::forwardOnly,
			"select pswd from cab_pswd where id='"+s_id+"'");
		rs.GetFieldValue("pswd",s_pswd);
		rs.Close();
		
		m_cabname=_T(s_name);
		m_cabrank=_T(s_rank);
		m_cabtel=_T(s_tel);
		m_cabpswd=_T(s_pswd);
		//加入列表
		m_cablist.InsertItem(i,"");
		m_cablist.SetItemText(i,0,s_id);
		m_cablist.SetItemText(i,1,s_name);
		m_cablist.SetItemText(i,2,s_rank);
		m_cablist.SetItemText(i,3,s_tel);
		m_cablist.SetItemText(i,4,s_pswd);
		
		UpdateData(FALSE);
		Exist=TRUE; //该队干部存在
	}
	else 
	{
		rs.Close();
		Init();
		Exist=FALSE; //该队干部不存在
	}
	if(!Exist) // 该队干部不存在
	{
		AfxMessageBox("该军人证号不存在");
		db.Close();
		return;
	}
	else
	{*/
		// 写SQL语句
		strSQL="update cab_info set\
			name='" + m_cabname  //NAME
			+ "',rank='" + m_cabrank // rank
			+ "',tel='" + m_cabtel //tel
			+ "' where id='" + m_cabid + "'"; // 条件
		db.ExecuteSQL(strSQL); // 执行
		strSQL="update cab_pswd set\
		    pswd='" + m_cabpswd //password
		    + "' where id='" + m_cabid +"'";//条件
		db.ExecuteSQL(strSQL); //执行
		AfxMessageBox("记录修改成功!");
		db.Close();
//	}
}

void CCabModDlg::OnCabQueryBtn() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if(!db.Open("db1"))return;	
	if(m_cabid.IsEmpty()) // 军人证号为空则返回
	{
		AfxMessageBox("军人证号不能为空!");
		db.Close();
		return;
	}
	int i=0;
	CRecordset rs(&db);
	CString s_id,s_name,s_rank,s_tel,s_pswd;
	CString strSQL;
	rs.Open(CRecordset::forwardOnly,"select * from cab_info where id='"+m_cabid+"'");
	if(!rs.IsEOF()) 
	{
		//得到数据
		rs.GetFieldValue("id",s_id);
		rs.GetFieldValue("name",s_name);
		rs.GetFieldValue("rank",s_rank);
		rs.GetFieldValue("tel",s_tel);		
		rs.Close();
		
		//得到口令
		rs.Open(CRecordset::forwardOnly,
			"select pswd from cab_pswd where id='"+s_id+"'");
		rs.GetFieldValue("pswd",s_pswd);
		rs.Close();
		
		m_cabname=_T(s_name);
		m_cabrank=_T(s_rank);
		m_cabtel=_T(s_tel);
		m_cabpswd=_T(s_pswd);
		//加入列表
		m_cablist.InsertItem(i,"");
		m_cablist.SetItemText(i,0,s_id);
		m_cablist.SetItemText(i,1,s_name);
		m_cablist.SetItemText(i,2,s_rank);
		m_cablist.SetItemText(i,3,s_tel);
		m_cablist.SetItemText(i,4,s_pswd);
		
		UpdateData(FALSE);
		Exist=TRUE; //该队干部存在
	}
	else 
	{
		rs.Close();
		Init();
		Exist=FALSE; //该队干部不存在
	}
	if(!Exist) // 该队干部不存在
	{
		AfxMessageBox("该军人证号不存在");
		db.Close();
		return;
	}
	db.Close();
}

void CCabModDlg::OnCabDelBtn() 
{
	// TODO: Add your control notification handler code here
	int i=m_cablist.GetSelectionMark();
	CString strSQL;
	if(i==-1)
	{
		MessageBox("请先选择记录!");		
	}
	else
	{
		if(!db.Open("db1"))return;//连接数据库
		CString m_id=m_cablist.GetItemText(i,0);
		strSQL="delete from ins_info where id='" + m_id +"'";
		db.ExecuteSQL(strSQL);
		strSQL="delete from ins_pswd where id='" + m_id +"'";
		db.ExecuteSQL(strSQL);
		UpdateData();
		db.Close();	
	}	
}

void CCabModDlg::Init()
{
	m_cabid=_T("");
	m_cabname=_T("");
	m_cabrank=_T("");
	m_cabtel=_T("");
	m_cabpswd=_T("");
	UpdateData(FALSE);
}

⌨️ 快捷键说明

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