📄 delinfodlg.cpp
字号:
// DelinfoDlg.cpp : implementation file
//
#include "stdafx.h"
#include "学籍管理系统.h"
#include "DelinfoDlg.h"
#include "MainView.h"
#include "StuinfoSet1.h"
#include "AddcollageDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDelinfoDlg dialog
CDelinfoDlg::CDelinfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDelinfoDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDelinfoDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CDelinfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDelinfoDlg)
DDX_Control(pDX, IDC_LIST_MAKEUP, m_makeuplist);
DDX_Control(pDX, IDC_LIST_TEAM, m_teamlist);
DDX_Control(pDX, IDC_LIST_SUB, m_sublist);
DDX_Control(pDX, IDC_LIST_SPE, m_spelist);
DDX_Control(pDX, IDC_LIST_COLLAGE, m_collagelist);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDelinfoDlg, CDialog)
//{{AFX_MSG_MAP(CDelinfoDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDelinfoDlg message handlers
BOOL CDelinfoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_collagelist.SetExtendedStyle (LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES |LVS_EX_INFOTIP);
m_spelist.SetExtendedStyle (LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES |LVS_EX_INFOTIP);
m_sublist.SetExtendedStyle (LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES |LVS_EX_INFOTIP);
m_teamlist.SetExtendedStyle (LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES |LVS_EX_INFOTIP);
m_makeuplist.SetExtendedStyle (LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES |LVS_EX_INFOTIP);
int nWidth = 110 ;
m_collagelist.InsertColumn( 0 , "学院名" ,LVCFMT_LEFT,132 );
m_collagelist.InsertColumn( 1 , "院长" ,LVCFMT_LEFT,50 );
m_spelist.InsertColumn( 0 , "专业名" ,LVCFMT_LEFT,119 );
m_spelist.InsertColumn( 1 , "所属学院" ,LVCFMT_LEFT,270 );
m_teamlist.InsertColumn( 0 , "学院名" ,LVCFMT_LEFT,122 );
m_teamlist.InsertColumn( 1 , "队名" ,LVCFMT_LEFT,60 );
m_sublist.InsertColumn( 0 , "课程名" ,LVCFMT_LEFT,90 );
m_sublist.InsertColumn( 1 , "类型" ,LVCFMT_LEFT,72 );
m_sublist.InsertColumn( 2 , "所属专业" ,LVCFMT_LEFT,62 );
m_makeuplist.InsertColumn( 0 , "补考课程名" ,LVCFMT_LEFT,100 );
m_makeuplist.InsertColumn( 1 , "补考地点" ,LVCFMT_LEFT,142 );
m_makeuplist.InsertColumn( 2 , "补考时间" ,LVCFMT_LEFT,150 );
// TODO: Add extra initialization here
// 学员队表
UpdateData(TRUE);
CDatabase db;
CStuinfoSet rsstu;
CRecordset rs(&db);
CString sqlstr,resul;
int i;
db.Open(rsstu.GetDefaultConnect());
/*****************列出学院信息********************/
i=0;
sqlstr.Format("select * from colinfo");
rs.Close();
rs.Open(CRecordset::forwardOnly,sqlstr);
while(!rs.IsEOF())
{
rs.GetFieldValue((int)0,resul);
m_collagelist.InsertItem(i,resul);
rs.GetFieldValue((int)1,resul);
m_collagelist.SetItemText(i,1,resul);
rs.MoveNext();
}
rs.Close();
/*****************列出学员队信息********************/
i=0;
sqlstr.Format("select belongcol,teamname from teaminfo order by belongcol");
rs.Close();
rs.Open(CRecordset::forwardOnly,sqlstr);
while(!rs.IsEOF())
{
rs.GetFieldValue((int)0,resul);
m_teamlist.InsertItem(i,resul);
rs.GetFieldValue((int)1,resul);
m_teamlist.SetItemText(i,1,resul);
rs.MoveNext();
}
rs.Close();
/*****************列出课程信息********************/
i=0;
sqlstr.Format("select subname,subtype,belongspc from subinfo order by subtype");
rs.Close();
rs.Open(CRecordset::forwardOnly,sqlstr);
while(!rs.IsEOF())
{
rs.GetFieldValue((int)0,resul);
m_sublist.InsertItem(i,resul);
rs.GetFieldValue((int)1,resul);
m_sublist.SetItemText(i,1,resul);
rs.GetFieldValue((int)2,resul);
m_sublist.SetItemText(i,2,resul);
rs.MoveNext();
}
rs.Close();
/*****************列出专业信息********************/
i=0;
sqlstr.Format("select spename,belongcol from speinfo order by belongcol");
rs.Close();
rs.Open(CRecordset::forwardOnly,sqlstr);
while(!rs.IsEOF())
{
rs.GetFieldValue((int)0,resul);
m_spelist.InsertItem(i,resul);
rs.GetFieldValue((int)1,resul);
m_spelist.SetItemText(i,1,resul);
rs.MoveNext();
}
rs.Close();
/*****************列出补考信息********************/
i=0;
sqlstr.Format("select * from makeupinfo order by time");
rs.Close();
rs.Open(CRecordset::forwardOnly,sqlstr);
while(!rs.IsEOF())
{
rs.GetFieldValue((int)0,resul);
m_makeuplist.InsertItem(i,resul);
rs.GetFieldValue((int)1,resul);
m_makeuplist.SetItemText(i,1,resul);
rs.GetFieldValue((int)2,resul);
m_makeuplist.SetItemText(i,2,resul);
rs.MoveNext();
}
rs.Close();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
int CDelinfoDlg::GetCollageSelect()
{
for(int i=0; i<m_collagelist.GetItemCount(); i++)
{
if( m_collagelist.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
{
return i;//当有一行被选中,返回行号
}
}
return -2;//如果未选中任何一行则返回-2
}
int CDelinfoDlg::GetSpeSelect()
{
for(int i=0; i<m_spelist.GetItemCount(); i++)
{
if( m_spelist.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
{
return i;//当有一行被选中,返回行号
}
}
return -2;//如果未选中任何一行则返回-2
}
int CDelinfoDlg::GetSubSelect()
{
for(int i=0; i<m_sublist.GetItemCount(); i++)
{
if( m_sublist.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
{
return i;//当有一行被选中,返回行号
}
}
return -2;//如果未选中任何一行则返回-2
}
int CDelinfoDlg::GetTeamSelect()
{
for(int i=0; i<m_teamlist.GetItemCount(); i++)
{
if( m_teamlist.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
{
return i;//当有一行被选中,返回行号
}
}
return -2;//如果未选中任何一行则返回-2
}
void CDelinfoDlg::OnOK() //删除
{
// TODO: Add extra validation here
CString sqlstr;
//删除学院
if(MessageBox("确认删除所选的所有信息?","确认删除",MB_YESNO)==IDNO)
return;
int nitem=GetCollageSelect();
if(nitem!=-2)
{
CString collagename,prename;
collagename=m_collagelist.GetItemText(nitem,0);
prename=m_collagelist.GetItemText(nitem,1);
sqlstr.Format("delete from colinfo where colname='%s'",collagename);
CMainView::RunSQL(sqlstr);
m_collagelist.DeleteItem(nitem);
}
//删除学员队
nitem=GetTeamSelect();
if(nitem!=-2)
{
CString teamname,belongcol;
belongcol=m_teamlist.GetItemText(nitem,0);
teamname=m_teamlist.GetItemText(nitem,1);
sqlstr.Format("delete from teaminfo where teamname='%s' and belongcol='%s'",teamname,belongcol);
CMainView::RunSQL(sqlstr);
if(MessageBox("该学员队信息已删除,是否删除该学员队的学生","相关删除",MB_YESNO)==IDYES)
{
sqlstr.Format("delete from stuinfo where stuteam='%s' and collage='%s'",teamname,belongcol);
CMainView::RunSQL(sqlstr);
}
m_teamlist.DeleteItem(nitem);
}
//删除专业
nitem=GetSpeSelect();
if(nitem!=-2)
{
CString spename,belongcol;
belongcol=m_spelist.GetItemText(nitem,1);
spename=m_spelist.GetItemText(nitem,0);
sqlstr.Format("delete from speinfo where spename='%s' and belongcol='%s'",spename,belongcol);
CMainView::RunSQL(sqlstr);
sqlstr.Format("delete from subinfo where belongspc='%s'",spename);
CMainView::RunSQL(sqlstr);
m_spelist.DeleteItem(nitem);
}
//删除课程
nitem=GetSubSelect();
if(nitem!=-2)
{
CString subname,belongspc,subtype;
subname=m_sublist.GetItemText(nitem,0);
subtype=m_sublist.GetItemText(nitem,1);
belongspc=m_sublist.GetItemText(nitem,2);
sqlstr.Format("delete from subinfo where subname='%s' and belongspc='%s' and subtype='%s'",subname,belongspc,subtype);
CMainView::RunSQL(sqlstr);
sqlstr.Format("delete from scoreinfo where subname='%s'",subname);
CMainView::RunSQL(sqlstr);
m_sublist.DeleteItem(nitem);
}
//删除补考信息
nitem=GetMakeupSelect();
if(nitem!=-2)
{
CString subname;
subname=m_makeuplist.GetItemText(nitem,0);
sqlstr.Format("delete from makeupinfo where subname='%s'",subname);
CMainView::RunSQL(sqlstr);
m_makeuplist.DeleteItem(nitem);
}
//CDialog::OnOK();
}
int CDelinfoDlg::GetMakeupSelect()
{
for(int i=0; i<m_sublist.GetItemCount(); i++)
{
if( m_makeuplist.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
{
return i;//当有一行被选中,返回行号
}
}
return -2;//如果未选中任何一行则返回-2
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -