📄 insmoddlg.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 + -