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

📄 studentifomanage.cpp

📁 为VC初学者提供一个很好的例程
💻 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 + -