?? studentifomanage.cpp
字號:
// StudentIfoManage.cpp : implementation file
//
#include "stdafx.h"
#include "cj.h"
#include "StudentIfoManage.h"
#include "Page3.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CStudentIfoManage dialog
CStudentIfoManage::CStudentIfoManage(CWnd* pParent /*=NULL*/)
: CDialog(CStudentIfoManage::IDD, pParent)
{
//{{AFX_DATA_INIT(CStudentIfoManage)
m_name = _T("");
m_strsex = _T("");
m_StrstudentID = _T("");
m_strclass = _T("");
m_strxibie = _T("");
m_strxuejie = _T("");
//}}AFX_DATA_INIT
}
void CStudentIfoManage::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CStudentIfoManage)
DDX_Control(pDX, IDC_CHECK_XUEJIE, m_xuejieChecked);
DDX_Control(pDX, IDC_cob_XUEJie, m_xuejie);
DDX_Control(pDX, IDC_cob_XiBie, m_xibie);
DDX_Control(pDX, IDC_cob_StudentID, m_studentID);
DDX_Control(pDX, IDC_cob_Sex, m_sex);
DDX_Control(pDX, IDC_cob_Class, m_class);
DDX_Text(pDX, IDC_EDIT_Name, m_name);
DDV_MaxChars(pDX, m_name, 50);
DDX_CBString(pDX, IDC_cob_Sex, m_strsex);
DDV_MaxChars(pDX, m_strsex, 2);
DDX_CBString(pDX, IDC_cob_StudentID, m_StrstudentID);
DDX_CBString(pDX, IDC_cob_Class, m_strclass);
DDX_CBString(pDX, IDC_cob_XiBie, m_strxibie);
DDX_CBString(pDX, IDC_cob_XUEJie, m_strxuejie);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CStudentIfoManage, CDialog)
//{{AFX_MSG_MAP(CStudentIfoManage)
ON_CBN_SELCHANGE(IDC_cob_XUEJie, OnSelchangecobXUEJie)
ON_CBN_SELCHANGE(IDC_cob_XiBie, OnSelchangecobXiBie)
ON_CBN_SELCHANGE(IDC_cob_Class, OnSelchangecobClass)
ON_BN_CLICKED(IDC_Delete, OnDelete)
ON_BN_CLICKED(IDC_Find, OnFind)
ON_BN_CLICKED(IDC_Modif, OnModif)
ON_CBN_SELCHANGE(IDC_cob_StudentID, OnSelchangecobStudentID)
ON_BN_CLICKED(IDC_cmdJieSUO, OncmdJieSUO)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CStudentIfoManage message handlers
BOOL CStudentIfoManage::OnInitDialog()
{
CDialog::OnInitDialog();
if(!m_database.Open(_T("student"))) return false;
CRecordset rs(&m_database);
CString str;
//設置學界的下拉框所取的值。
rs.Open(CRecordset::forwardOnly,"select 學界名稱 from 學界");
while(!rs.IsEOF())
{
rs.GetFieldValue("學界名稱",str);
m_xuejie.AddString(str);
rs.MoveNext();
}
rs.Close();
//設置系別下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select 系別名稱 from 系別");
while(!rs.IsEOF())
{
rs.GetFieldValue("系別名稱",str);
m_xibie.AddString(str);
rs.MoveNext();
}
rs.Close();
//設置班級下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select 班級名稱 from 班級");
while(!rs.IsEOF())
{
rs.GetFieldValue("班級名稱",str);
m_class.AddString(str);
rs.MoveNext();
}
rs.Close();
//設置性別下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select DISTINCT 性別 from 性別表");
while(!rs.IsEOF())
{
rs.GetFieldValue("性別",str);
m_sex.AddString(str);
rs.MoveNext();
}
rs.Close();
//初始化下拉框
m_xuejie.SetCurSel(0);
m_xibie.SetCurSel(0);
m_class.SetCurSel(0);
m_sex.SetCurSel(0);
//設置學號下拉框所取的值
DataGetNow();
rs.Open(CRecordset::forwardOnly,
"select 學號ID from 學生表 where 學界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"'");
while(!rs.IsEOF())
{
rs.GetFieldValue("學號ID",str);
m_studentID.AddString(str);
rs.MoveNext();
}
rs.Close();
m_studentID.SetCurSel(-1);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CStudentIfoManage::OnSelchangecobXUEJie()
{
m_xibie.ResetContent();//清空系別組合框中的所有項
m_class.ResetContent();//清空班級組合框中的所有項
m_studentID.ResetContent();//清空學號組合框中的所有項
CString strXuejieID,str;
CRecordset rs(&m_database);
m_xuejie.GetLBText(m_xuejie.GetCurSel(),str);
rs.Open(CRecordset::forwardOnly,
"select 學界ID from 學界 where 學界名稱='"+str+"'");
rs.GetFieldValue("學界ID",strXuejieID);
rs.Close();
rs.Open(CRecordset::forwardOnly,
"select 系別名稱 from 系別");
while(!rs.IsEOF())
{
rs.GetFieldValue("系別名稱",str);
m_xibie.AddString(str);
rs.MoveNext();
}
rs.Close();
}
void CStudentIfoManage::OnSelchangecobXiBie()
{
m_class.ResetContent();//清空班級組合框中的所有項
m_studentID.ResetContent();//清空學號組合框中的所有項
CString strXiBieID,str,strXuejieID;
CRecordset rs(&m_database);
//得到學界ID
m_xuejie.GetLBText(m_xuejie.GetCurSel(),str);
rs.Open(CRecordset::forwardOnly,
"select 學界ID from 學界 where 學界名稱='"+str+"'");
rs.GetFieldValue("學界ID",strXuejieID);
rs.Close();
//得到系別ID
m_xibie.GetLBText(m_xibie.GetCurSel(),str);
rs.Open(CRecordset::forwardOnly,
"select 系別ID from 系別 where 系別名稱='"+str+"'");
rs.GetFieldValue("系別ID",strXiBieID);
rs.Close();
//設置班級下拉框所取的值
rs.Open(CRecordset::forwardOnly,
"select 班級名稱 from 班級 where 學界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"'");
while(!rs.IsEOF())
{
rs.GetFieldValue("班級名稱",str);
m_class.AddString(str);
rs.MoveNext();
}
rs.Close();
}
void CStudentIfoManage::OnSelchangecobClass()
{
m_studentID.ResetContent();//清空學號組合框中的所有項
DataSetStudentID();
}
void CStudentIfoManage::DataGetNow()
{
CRecordset rs(&m_database);
//得到學界ID
m_xuejie.GetLBText(m_xuejie.GetCurSel(),strXuejie);
rs.Open(CRecordset::forwardOnly,
"select 學界ID from 學界 where 學界名稱='"+strXuejie+"'");
rs.GetFieldValue("學界ID",strXuejieID);
rs.Close();
//得到系別ID
m_xibie.GetLBText(m_xibie.GetCurSel(),strXibie);
rs.Open(CRecordset::forwardOnly,
"select 系別ID from 系別 where 系別名稱='"+strXibie+"'");
rs.GetFieldValue("系別ID",strXiBieID);
rs.Close();
//得到班級ID
m_class.GetLBText(m_class.GetCurSel(),strClass);
rs.Open(CRecordset::forwardOnly,
"select 班級ID from 班級 where 班級名稱='"+strClass+"'");
rs.GetFieldValue("班級ID",strClassID);
rs.Close();
}
void CStudentIfoManage::OnDelete()
{
UpdateData();//更新
DataGetNow();//調用自定義函數
DataChecked();//鎖定鍵判定
CRecordset rs(&m_database);
rs.Open(CRecordset::forwardOnly,
"select * from 學生表 where 學界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"' and 學號ID='"+m_StrstudentID+"' and 姓名='"+m_name+"' and 性別='"+m_strsex+"'");
icount=rs.GetRecordCount();
rs.Close();
if(icount==0)
{
MessageBox("請不要改變任何數據!您不能通過此功能刪除一個不正確的信息!","系統提示:",MB_OK|MB_ICONASTERISK);
}
else
{
SQL="delete from 學生表 where 學界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"' and 學號ID='"+m_StrstudentID+"' and 姓名='"+m_name+"' and 性別='"+m_strsex+"'";
if(MessageBox("真的要刪除此記錄嗎?","刪除記錄詢問:",MB_OKCANCEL|MB_ICONQUESTION)==IDOK)
{
m_database.ExecuteSQL(SQL);
MessageBox("完成操作!","系統提示:",MB_OK|MB_ICONASTERISK);
DataSetStudentID();//調用自定義函數
UpdateData();//刷新
}
}
}
void CStudentIfoManage::OnFind()
{
// TODO: Add your control notification handler code here
}
void CStudentIfoManage::OnModif()
{
UpdateData();//更新
DataGetNow();//調用自定義函數
DataChecked();//鎖定鍵判定
CRecordset rs(&m_database);
if(m_StrstudentID.IsEmpty()||m_name.IsEmpty()||m_strsex.IsEmpty())
{
MessageBox("操作有誤!您不能修改為空信息!","系統提示:",MB_OK|MB_ICONASTERISK);
return;
}
else
{
rs.Open(CRecordset::forwardOnly,
"select * from 學生表 where 學界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"' and 學號ID='"+m_StrstudentID+"'");
icount=rs.GetRecordCount();
if(icount==0)
{
MessageBox("不存在此學號!請進行添加工作!","系統提示:",MB_OK|MB_ICONASTERISK);
}
else
{
SQL="update 學生表 set 姓名='"+m_name+"',性別='"+m_strsex+"' where 學界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"' and 學號ID='"+m_StrstudentID+"'";
if(MessageBox("真的要修改此記錄嗎?","修改記錄詢問:",MB_OKCANCEL|MB_ICONQUESTION)==IDOK)
{
m_database.ExecuteSQL(SQL);
MessageBox("完成操作!","系統提示:",MB_OK|MB_ICONASTERISK);
DataSetStudentID();//調用自定義函數
UpdateData();//刷新
}
}
}
}
void CStudentIfoManage::OnOK()
{
UpdateData();//更新
DataGetNow();//調用自定義函數
DataChecked();//鎖定鍵判定
CRecordset rs(&m_database);
if(m_StrstudentID.IsEmpty()||m_name.IsEmpty()||m_strsex.IsEmpty())
{
MessageBox("操作有誤!您不能添加空信息!","系統提示:",MB_OK|MB_ICONASTERISK);
return;
}
else
{
rs.Open(CRecordset::forwardOnly,
"select * from 學生表 where 學界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"' and 學號ID='"+m_StrstudentID+"'");
icount=rs.GetRecordCount();
rs.Close();
if(icount!=0)
{
MessageBox("已經存在此學號!","系統提示:",MB_OK|MB_ICONASTERISK);
}
else
{
SQL="insert into 學生表 (學界ID,系別ID,班級ID,學號ID,姓名,性別) \
values('"+strXuejieID+"','"+strXiBieID+"','"+strClassID+"','"+m_StrstudentID+"','"+m_name+"','"+m_strsex+"')";
m_database.ExecuteSQL(SQL);
MessageBox("完成操作!","系統提示:",MB_OK|MB_ICONASTERISK);
DataSetStudentID();//調用自定義函數
UpdateData();//刷新
}
}
}
void CStudentIfoManage::OnSelchangecobStudentID()
{
CRecordset rs(&m_database);
CString strClass,strXueQi,strXuejie,strXibie,strStudentID,str,strsex;
CString strXiBieID,strXuejieID,strXueQiID,strClassID;
//得到學界ID
m_xuejie.GetLBText(m_xuejie.GetCurSel(),strXuejie);
rs.Open(CRecordset::forwardOnly,
"select 學界ID from 學界 where 學界名稱='"+strXuejie+"'");
rs.GetFieldValue("學界ID",strXuejieID);
rs.Close();
//得到系別ID
m_xibie.GetLBText(m_xibie.GetCurSel(),strXibie);
rs.Open(CRecordset::forwardOnly,
"select 系別ID from 系別 where 系別名稱='"+strXibie+"'");
rs.GetFieldValue("系別ID",strXiBieID);
rs.Close();
//得到班級ID
m_class.GetLBText(m_class.GetCurSel(),strClass);
rs.Open(CRecordset::forwardOnly,
"select 班級ID from 班級 where 班級名稱='"+strClass+"'");
rs.GetFieldValue("班級ID",strClassID);
rs.Close();
//得到學號ID
m_studentID.GetLBText(m_studentID.GetCurSel(),strStudentID);
//得到姓名
rs.Open(CRecordset::forwardOnly,
"select 姓名,性別 from 學生表 where 學界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"' and 學號ID='"+strStudentID+"'");
if(!rs.IsEOF())
{
rs.GetFieldValue("姓名",str);
rs.GetFieldValue("性別",strsex);
m_name=str;
m_strsex=strsex;
UpdateData(FALSE);
}
}
void CStudentIfoManage::DataSetStudentID()
{
DataGetNow();//調用自定義函數
DataChecked();
m_studentID.ResetContent();//清空學號下拉框的所有值
//設置學號下拉框的值
CRecordset rs(&m_database);
rs.Open(CRecordset::forwardOnly,
"select 學號ID from 學生表 where 學界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"'");
while(!rs.IsEOF())
{
rs.GetFieldValue("學號ID",str);
m_studentID.AddString(str);
rs.MoveNext();
}
rs.Close();
}
void CStudentIfoManage::DataChecked()
{
if(m_xuejieChecked.GetCheck()==1)
{
m_xuejie.GetLBText(m_xuejie.GetCurSel(),strXuejie);
m_xuejie.ResetContent();//清空
m_xuejie.AddString(strXuejie);//添加
m_xuejie.SetCurSel(0);//設置
m_xibie.GetLBText(m_xibie.GetCurSel(),strXibie);
m_xibie.ResetContent();
m_xibie.AddString(strXibie);
m_xibie.SetCurSel(0);
m_class.GetLBText(m_class.GetCurSel(),strClass);
m_class.ResetContent();
m_class.AddString(strClass);
m_class.SetCurSel(0);
}
}
void CStudentIfoManage::OncmdJieSUO()
{
m_xuejie.ResetContent();//
m_xibie.ResetContent();//清空系別組合框中的所有項
m_class.ResetContent();//清空班級組合框中的所有項
m_studentID.ResetContent();//清空學號組合框中的所有項
CRecordset rs(&m_database);
CString str;
//設置學界的下拉框所取的值。
rs.Open(CRecordset::forwardOnly,"select 學界名稱 from 學界");
while(!rs.IsEOF())
{
rs.GetFieldValue("學界名稱",str);
m_xuejie.AddString(str);
rs.MoveNext();
}
rs.Close();
//設置系別下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select 系別名稱 from 系別");
while(!rs.IsEOF())
{
rs.GetFieldValue("系別名稱",str);
m_xibie.AddString(str);
rs.MoveNext();
}
rs.Close();
//設置班級下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select 班級名稱 from 班級");
while(!rs.IsEOF())
{
rs.GetFieldValue("班級名稱",str);
m_class.AddString(str);
rs.MoveNext();
}
rs.Close();
//設置性別下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select DISTINCT 性別 from 性別表");
while(!rs.IsEOF())
{
rs.GetFieldValue("性別",str);
m_sex.AddString(str);
rs.MoveNext();
}
rs.Close();
//初始化下拉框
m_xuejie.SetCurSel(0);
m_xibie.SetCurSel(0);
m_class.SetCurSel(0);
m_sex.SetCurSel(0);
//設置學號下拉框所取的值
DataGetNow();
rs.Open(CRecordset::forwardOnly,
"select 學號ID from 學生表 where 學界ID='"+strXuejieID+"' and 系別ID='"+strXiBieID+"' and 班級ID='"+strClassID+"'");
while(!rs.IsEOF())
{
rs.GetFieldValue("學號ID",str);
m_studentID.AddString(str);
rs.MoveNext();
}
rs.Close();
m_studentID.SetCurSel(-1);
m_name=_T("");
UpdateData(FALSE);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -