📄 stumandlg.cpp
字号:
// StuManDlg.cpp : implementation file
//
#include "stdafx.h"
#include "student.h"
#include "StuManDlg.h"
#include "EditDlg.h"
#include "EditGraDlg.h"
#include "columns.h"
#include "column.h"
#include "COMDEF.H"
#include "datagrid.h"
#include "_recordset.h"
#include "Base_Imfo.h"
#include "Grade.h"
extern CUsers curUser;
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CStuManDlg dialog
CStuManDlg::CStuManDlg(CWnd* pParent /*=NULL*/)
: CDialog(CStuManDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CStuManDlg)
m_searchedit = _T("");
//}}AFX_DATA_INIT
}
void CStuManDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CStuManDlg)
DDX_Control(pDX, IDC_SSEX_COMBO, m_sSex);
DDX_Control(pDX, IDC_SEARCH_COMBO, m_search);
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
DDX_Control(pDX, IDC_ADODC1, m_adodc);
DDX_Control(pDX, IDC_ADODC2, m_adodc2);
DDX_Control(pDX, IDC_DATAGRID2, m_datagrid2);
DDX_Text(pDX, IDC_SEARCH_EDIT, m_searchedit);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CStuManDlg, CDialog)
//{{AFX_MSG_MAP(CStuManDlg)
ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)
ON_BN_CLICKED(IDC_MODISTU_BUTTON, OnModistuButton)
ON_BN_CLICKED(IDC_DEL_BUTTON, OnDelButton)
ON_BN_CLICKED(IDC_MODIGRA_BUTTON, OnModigraButton)
ON_BN_CLICKED(IDC_REFRESH_BUTTON, OnRefreshButton)
ON_BN_CLICKED(IDC_SEARCH_BUTTON, OnSearchButton)
ON_CBN_SELCHANGE(IDC_SEARCH_COMBO, OnSelchangeSearchCombo)
ON_CBN_SELCHANGE(IDC_SSEX_COMBO, OnSelchangeSsexCombo)
ON_EN_CHANGE(IDC_SEARCH_EDIT, OnChangeSearchEdit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CStuManDlg message handlers
void CStuManDlg::RefreshData()
{
m_adodc.SetRecordSource("select Stu_Id,BadgeID as 学号,Stu_Name as 姓名,Sex as 性别, Birth as 生日,Major as 专业 from Base_Imfo");
m_adodc.Refresh();
_variant_t vIndex;
vIndex=long(0);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex=long(1);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(91);
vIndex=long(2);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(91);
vIndex=long(3);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex=long(4);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(91);
vIndex=long(5);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(91);
if(m_adodc.GetRecordset().GetEof()!=1)
{
m_adodc2.SetRecordSource("select Stu_Id,BadgeID as 学号,Chinese as 语文,English as 英语, DataStruct as 数据结构,ComAlgor as 计算机算法,OS as 操作系统,Java as Java from Grade where Stu_Id="+m_datagrid.GetItem(0));
m_adodc2.Refresh();
}
else
{
m_adodc2.SetRecordSource("select Stu_Id,BadgeID as 学号,Chinese as 语文,English as 英语, DataStruct as 数据结构,ComAlgor as 计算机算法,OS as 操作系统,Java as Java from Grade");
m_adodc2.Refresh();
}
_variant_t vIndex2;
vIndex2=long(0);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(0);
vIndex2=long(1);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(91);
vIndex2=long(2);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(3);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(4);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(5);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(6);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(7);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
}
BOOL CStuManDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
GetDlgItem(IDC_SEARCH_BUTTON)->EnableWindow(FALSE);
if(curUser.GetUser_type() != 1)
{
GetDlgItem(IDC_ADD_BUTTON)->EnableWindow(FALSE);
GetDlgItem(IDC_MODISTU_BUTTON)->EnableWindow(FALSE);
GetDlgItem(IDC_DEL_BUTTON)->EnableWindow(FALSE);
GetDlgItem(IDC_MODIGRA_BUTTON)->EnableWindow(FALSE);
}
GetDlgItem(IDC_SSEX_COMBO)->ShowWindow(FALSE);
m_search.SetCurSel(0);
m_sSex.SetCurSel(0);
RefreshData();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BEGIN_EVENTSINK_MAP(CStuManDlg, CDialog)
//{{AFX_EVENTSINK_MAP(CStuManDlg)
ON_EVENT(CStuManDlg, IDC_DATAGRID1, 218 /* RowColChange */, OnRowColChangeDatagrid1, VTS_PVARIANT VTS_I2)
ON_EVENT(CStuManDlg, IDC_DATAGRID1, 211 /* Change */, OnChangeDatagrid1, VTS_NONE)
ON_EVENT(CStuManDlg, IDC_DATAGRID1, 216 /* HeadClick */, OnHeadClickDatagrid1, VTS_I2)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CStuManDlg::OnRowColChangeDatagrid1(VARIANT FAR* LastRow, short LastCol)
{
// TODO: Add your control notification handler code here
m_adodc2.SetRecordSource("select Stu_Id,BadgeID as 学号,Chinese as 语文,English as 英语, DataStruct as 数据结构,ComAlgor as 计算机算法,OS as 操作系统,Java as Java from Grade where Stu_Id="+m_datagrid.GetItem(0));
m_adodc2.Refresh();
_variant_t vIndex2;
vIndex2=long(0);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(0);
vIndex2=long(1);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(91);
vIndex2=long(2);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(3);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(4);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(5);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(6);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(7);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
}
void CStuManDlg::OnAddButton()
{
// TODO: Add your control notification handler code here
CEditDlg dlg;
dlg.cStu_Id="";
dlg.strSex="男";
if(dlg.DoModal()==IDOK)
RefreshData();
}
void CStuManDlg::OnModistuButton()
{
// TODO: Add your control notification handler code here
if(m_adodc.GetRecordset().GetEof()==1)
{
MessageBox("没有数据");
return;
}
CEditDlg dlg;
dlg.cStu_Id=m_datagrid.GetItem(0);
dlg.m_BadgeID=m_datagrid.GetItem(1);
dlg.m_StuName=m_datagrid.GetItem(2);
dlg.strSex=m_datagrid.GetItem(3);
dlg.m_Birth=m_datagrid.GetItem(4);
dlg.m_Major=m_datagrid.GetItem(5);
if(dlg.DoModal()==IDOK)
RefreshData();
}
void CStuManDlg::OnDelButton()
{
// TODO: Add your control notification handler code here
if(m_adodc.GetRecordset().GetEof()==1)
{
MessageBox("请选择要删除的数据");
return;
}
if(MessageBox("是否删除当前记录?","请确认",MB_YESNO)==IDYES)
{
CBase_Imfo bas;
CGrade gra;
bas.sql_delete(m_datagrid.GetItem(0));
gra.sql_delete(m_datagrid2.GetItem(0));
RefreshData();
}
}
void CStuManDlg::OnModigraButton()
{
// TODO: Add your control notification handler code here
if(m_adodc2.GetRecordset().GetEof()==1)
{
MessageBox("没有数据");
return;
}
CEditGraDlg dlg;
dlg.cStu_Id=m_datagrid2.GetItem(0);
dlg.m_BadgeID=m_datagrid2.GetItem(1);
dlg.m_Chinese=atof(m_datagrid2.GetItem(2));
dlg.m_English=atof(m_datagrid2.GetItem(3));
dlg.m_DataStruct=atof(m_datagrid2.GetItem(4));
dlg.m_ComAlgor=atof(m_datagrid2.GetItem(5));
dlg.m_OS=atof(m_datagrid2.GetItem(6));
dlg.m_Java=atof(m_datagrid2.GetItem(7));
if(dlg.DoModal()==IDOK)
RefreshData();
}
void CStuManDlg::OnRefreshButton()
{
// TODO: Add your control notification handler code here
RefreshData();
}
void CStuManDlg::OnChangeDatagrid1()
{
// TODO: Add your control notification handler code here
m_adodc2.SetRecordSource("select Stu_Id,BadgeID as 学号,Chinese as 语文,English as 英语, DataStruct as 数据结构,ComAlgor as 计算机算法,OS as 操作系统,Java as Java from Grade where Stu_Id="+m_datagrid.GetItem(0));
m_adodc2.Refresh();
_variant_t vIndex2;
vIndex2=long(0);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(0);
vIndex2=long(1);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(91);
vIndex2=long(2);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(3);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(4);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(5);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(6);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(7);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
}
void CStuManDlg::OnSearchButton()
{
// TODO: Add your control notification handler code here
UpdateData(true);
if(m_searchedit=="")
{
MessageBox("请输入查询条件.");
return;
}
switch(m_search.GetCurSel())
{
case 0:
{
m_adodc.SetRecordSource("select Stu_Id,BadgeID as 学号,Stu_Name as 姓名,Sex as 性别, Birth as 生日,Major as 专业 from Base_Imfo where BadgeID='"+m_searchedit+"'");
m_adodc.Refresh();
break;
}
case 1:
{
m_adodc.SetRecordSource("select Stu_Id,BadgeID as 学号,Stu_Name as 姓名,Sex as 性别, Birth as 生日,Major as 专业 from Base_Imfo where Stu_Name='"+m_searchedit+"'");
m_adodc.Refresh();
break;
}
case 3:
{
m_adodc.SetRecordSource("select Stu_Id,BadgeID as 学号,Stu_Name as 姓名,Sex as 性别, Birth as 生日,Major as 专业 from Base_Imfo where Major ='"+m_searchedit+"'");
m_adodc.Refresh();
break;
}
}
if(m_adodc.GetRecordset().GetEof()==1)
{
m_adodc2.SetRecordSource("select Stu_Id,BadgeID as 学号,Chinese as 语文,English as 英语, DataStruct as 数据结构,ComAlgor as 计算机算法,OS as 操作系统,Java as Java from Grade where BadgeID=':'");
m_adodc2.Refresh();
MessageBox("没找到!");
return;
}
_variant_t vIndex;
vIndex=long(0);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex=long(1);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(91);
vIndex=long(2);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(91);
vIndex=long(3);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex=long(4);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(91);
vIndex=long(5);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(91);
m_adodc2.SetRecordSource("select Stu_Id,BadgeID as 学号,Chinese as 语文,English as 英语, DataStruct as 数据结构,ComAlgor as 计算机算法,OS as 操作系统,Java as Java from Grade where Stu_Id="+m_datagrid.GetItem(0));
m_adodc2.Refresh();
_variant_t vIndex2;
vIndex2=long(0);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(0);
vIndex2=long(1);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(91);
vIndex2=long(2);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(3);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(4);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(5);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(6);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(7);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
}
void CStuManDlg::OnSelchangeSearchCombo()
{
// TODO: Add your control notification handler code here
m_searchedit=="";
UpdateData(FALSE);
if(m_search.GetCurSel()==2)
{
GetDlgItem(IDC_SSEX_COMBO)->ShowWindow(TRUE);
GetDlgItem(IDC_SEARCH_EDIT)->ShowWindow(FALSE);
GetDlgItem(IDC_SEARCH_BUTTON)->ShowWindow(FALSE);
}
else
{
GetDlgItem(IDC_SSEX_COMBO)->ShowWindow(FALSE);
GetDlgItem(IDC_SEARCH_EDIT)->ShowWindow(TRUE);
GetDlgItem(IDC_SEARCH_BUTTON)->ShowWindow(TRUE);
}
}
void CStuManDlg::OnSelchangeSsexCombo()
{
// TODO: Add your control notification handler code here
if(m_sSex.GetCurSel()==0)
{
m_adodc.SetRecordSource("select Stu_Id,BadgeID as 学号,Stu_Name as 姓名,Sex as 性别, Birth as 生日,Major as 专业 from Base_Imfo where Sex='男'");
m_adodc.Refresh();
}
else
{
m_adodc.SetRecordSource("select Stu_Id,BadgeID as 学号,Stu_Name as 姓名,Sex as 性别, Birth as 生日,Major as 专业 from Base_Imfo where Sex='女'");
m_adodc.Refresh();
}
if(m_adodc.GetRecordset().GetEof()==1)
{
m_adodc2.SetRecordSource("select Stu_Id,BadgeID as 学号,Chinese as 语文,English as 英语, DataStruct as 数据结构,ComAlgor as 计算机算法,OS as 操作系统,Java as Java from Grade where BadgeID=':'");
m_adodc2.Refresh();
MessageBox("没找到!");
return;
}
_variant_t vIndex;
vIndex=long(0);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex=long(1);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(91);
vIndex=long(2);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(91);
vIndex=long(3);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex=long(4);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(91);
vIndex=long(5);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(91);
m_adodc2.SetRecordSource("select Stu_Id,BadgeID as 学号,Chinese as 语文,English as 英语, DataStruct as 数据结构,ComAlgor as 计算机算法,OS as 操作系统,Java as Java from Grade where Stu_Id="+m_datagrid.GetItem(0));
m_adodc2.Refresh();
_variant_t vIndex2;
vIndex2=long(0);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(0);
vIndex2=long(1);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(91);
vIndex2=long(2);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(3);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(4);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(5);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(6);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
vIndex2=long(7);
m_datagrid2.GetColumns().GetItem(vIndex2).SetWidth(56);
}
static int ClkNum = 0; //单击次数
void CStuManDlg::OnHeadClickDatagrid1(short ColIndex)
{
// TODO: Add your control notification handler code here
}
void CStuManDlg::OnChangeSearchEdit()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
UpdateData(true);
if(m_searchedit!="")
GetDlgItem(IDC_SEARCH_BUTTON)->EnableWindow(TRUE);
else
GetDlgItem(IDC_SEARCH_BUTTON)->EnableWindow(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -