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

📄 insmoddlg.cpp

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

#include "stdafx.h"
#include "Team2.h"
#include "InsModDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CInsModDlg dialog


CInsModDlg::CInsModDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CInsModDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CInsModDlg)
	m_insid = _T("");
	m_insname = _T("");
	m_insstaff = _T("");
	m_institle = _T("");
	m_instel = _T("");
	m_pswd = _T("");
	//}}AFX_DATA_INIT
}


void CInsModDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CInsModDlg)
	DDX_Control(pDX, IDC_LIST1, m_insresult);
	DDX_Text(pDX, IDC_EDIT1, m_insid);
	DDX_Text(pDX, IDC_EDIT2, m_insname);
	DDX_Text(pDX, IDC_EDIT3, m_insstaff);
	DDX_Text(pDX, IDC_EDIT4, m_institle);
	DDX_Text(pDX, IDC_EDIT5, m_instel);
	DDX_Text(pDX, IDC_EDIT6, m_pswd);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CInsModDlg, CDialog)
	//{{AFX_MSG_MAP(CInsModDlg)
	ON_BN_CLICKED(IDC_QUERY_INS, OnQueryIns)
	ON_BN_CLICKED(IDC_MODIFY_INS, OnModifyIns)
	ON_BN_CLICKED(IDC_ADD_INS, OnAddIns)
	ON_BN_CLICKED(IDC_DELETE_INS, OnDeleteIns)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CInsModDlg message handlers

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

void CInsModDlg::OnQueryIns() 
{
	// 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_staff,s_title,s_tel,s_pswd;
	CString strSQL;
	rs.Open(CRecordset::forwardOnly,"select * from ins_info where id='"+m_insid+"'");
	if(!rs.IsEOF()) 
	{
		//得到数据
		rs.GetFieldValue("id",s_id);
		rs.GetFieldValue("name",s_name);
		rs.GetFieldValue("staff",s_staff);
		rs.GetFieldValue("title",s_title);
		rs.GetFieldValue("tel",s_tel);		
		rs.Close();
		
		//得到口令
		rs.Open(CRecordset::forwardOnly,
			"select pswd from ins_pswd where id='"+s_id+"'");
		rs.GetFieldValue("pswd",s_pswd);
		rs.Close();

		//写入编辑框
		m_insname=_T(s_name);
		m_insstaff=_T(s_staff);
		m_institle=_T(s_title);
		m_instel=_T(s_tel);
		m_pswd=_T(s_pswd);
		//加入列表
		m_insresult.InsertItem(i,"");
		m_insresult.SetItemText(i,0,s_id);
		m_insresult.SetItemText(i,1,s_name);
		m_insresult.SetItemText(i,2,s_staff);
		m_insresult.SetItemText(i,3,s_title);
		m_insresult.SetItemText(i,4,s_tel);
		m_insresult.SetItemText(i,5,s_pswd);

		UpdateData(FALSE);
		Exist=TRUE; //该学员存在
	}
	else 
	{
		rs.Close();
		Init();
		Exist=FALSE; //该教员不存在
	}
	if(!Exist) // 该教员号不存在
	{
		AfxMessageBox("该军人证号不存在");
		db.Close();
		return;
	}
	db.Close();		
}

void CInsModDlg::OnModifyIns() 
{
	// 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_staff,s_title,s_tel,s_pswd;
	CString strSQL;
/*	rs.Open(CRecordset::forwardOnly,"select * from ins_info where id='"+m_insid+"'");
	if(!rs.IsEOF()) 
	{
		//得到数据
		rs.GetFieldValue("id",s_id);
		rs.GetFieldValue("name",s_name);
		rs.GetFieldValue("staff",s_staff);
		rs.GetFieldValue("title",s_title);
		rs.GetFieldValue("tel",s_tel);		
		rs.Close();
		
		//得到口令
		rs.Open(CRecordset::forwardOnly,
			"select pswd from ins_pswd where id='"+s_id+"'");
		rs.GetFieldValue("pswd",s_pswd);
		rs.Close();

		m_insname=_T(s_name);
		m_insstaff=_T(s_staff);
		m_institle=_T(s_title);
		m_instel=_T(s_tel);
		m_pswd=_T(s_pswd);
		//加入列表
		m_insresult.InsertItem(i,"");
		m_insresult.SetItemText(i,0,s_id);
		m_insresult.SetItemText(i,1,s_name);
		m_insresult.SetItemText(i,2,s_staff);
		m_insresult.SetItemText(i,3,s_title);
		m_insresult.SetItemText(i,4,s_tel);
		m_insresult.SetItemText(i,5,s_pswd);

		UpdateData(FALSE);
		Exist=TRUE; //该学员存在
	}
	else 
	{
		rs.Close();
		Init();
		Exist=FALSE; //该教员不存在
	}
	if(!Exist) // 该教员号不存在
	{
		AfxMessageBox("该军人证号不存在");
		db.Close();
		return;
	}
	else
	{*/
		// 写SQL语句
		strSQL="update ins_info set\
			name='" + m_insname  //NAME
			+ "',staff='" + m_insstaff // Staff
			+ "',title='" + m_institle // title
			+ "',tel='" + m_instel //tel
			+ "' where id='" + m_insid + "'"; // 条件
		db.ExecuteSQL(strSQL); // 执行
		strSQL="update ins_pswd set\
			pswd='" + m_pswd //password
			+ "' where id='" + m_insid +"'";//条件
		db.ExecuteSQL(strSQL); //执行
		AfxMessageBox("记录修改成功!");
		db.Close();
//	}
}

void CInsModDlg::OnAddIns() 
{
	// TODO: Add your control notification handler code here
	if(!db.Open("db1"))return;//连接数据库

	CString strSQL;
	
	UpdateData();
	if(m_insid.IsEmpty()) // 军人证号为空则返回
	{
		AfxMessageBox("军人证号不能为空!");
		db.Close();
		return;
	}

	CRecordset rs(&db);
	rs.Open(CRecordset::forwardOnly,"select * from ins_info where id='" + m_insid + "'");
	if(!rs.IsEOF()) //已存在此记录
	{
		AfxMessageBox("该军人证号已存在!");
		db.Close();
		return;
	}
	strSQL="insert into ins_info values('"		
		+ m_insid + "','" // ID
		+ m_insname + "','" // NAME
		+ m_insstaff + "','" // 教研室
		+ m_institle + "','" // 职称
		+ m_instel + "')"; //电话
	db.ExecuteSQL(strSQL);
	strSQL="insert into ins_pswd values('" + m_insid + "','" + m_pswd + "')";
	db.ExecuteSQL(strSQL);

	Init(); //重新初始化窗口
	AfxMessageBox("记录添加成功!");
	db.Close();	
}

void CInsModDlg::OnDeleteIns() 
{
	// TODO: Add your control notification handler code here
	int i=m_insresult.GetSelectionMark();
	CString strSQL;
	if(i==-1)
	{
		MessageBox("请先选择记录!");		
	}
	else
	{
		if(!db.Open("db1"))return;//连接数据库
		CString m_id=m_insresult.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 CInsModDlg::Init()
{
	m_insid=_T("");
	m_insname=_T("");
	m_insstaff=_T("");
	m_instel=_T("");
	m_institle=_T("");
	m_pswd=_T("");
	UpdateData(FALSE);
}

BOOL CInsModDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	DWORD style=m_insresult.GetExtendedStyle();
	m_insresult.SetExtendedStyle(style|LVS_EX_GRIDLINES);
	
	m_insresult.InsertColumn(0,"教员号");
	m_insresult.InsertColumn(1,"姓名");
	m_insresult.InsertColumn(2,"教研室");
	m_insresult.InsertColumn(3,"职称");
	m_insresult.InsertColumn(4,"电话");
	m_insresult.InsertColumn(5,"口令");
	RECT rectbasic;
	m_insresult.GetWindowRect(&rectbasic);
	int widbasic = rectbasic.right - rectbasic.left;
	m_insresult.SetColumnWidth(0,widbasic/6);
	m_insresult.SetColumnWidth(1,widbasic/6);
	m_insresult.SetColumnWidth(2,widbasic/6);	
	m_insresult.SetColumnWidth(3,widbasic/6);
	m_insresult.SetColumnWidth(4,widbasic/6);
	m_insresult.SetColumnWidth(5,widbasic/6);
	m_insresult.SetExtendedStyle(LVS_EX_FULLROWSELECT);
	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 + -