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

📄 student2view.cpp

📁 是自己做的一个小的学生管理系统.希望对大家有用
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	else if(dlg.m_banji=="机械及自动化2班")m_banjino=502;
	else if(dlg.m_banji=="机械及自动化3班")m_banjino=503;
	else if(dlg.m_banji=="环工1班")m_banjino=601;
	else if(dlg.m_banji=="环工2班")m_banjino=602;
	else if(dlg.m_banji=="建筑1班")m_banjino=701;
	else if(dlg.m_banji=="人力资源1班")m_banjino=801;
	else if(dlg.m_banji=="纺织工程1班")m_banjino=901;
	else if(dlg.m_banji=="纺织工程2班")m_banjino=902;
	else if(dlg.m_banji=="纺织工程3班")m_banjino=903;
	else if(dlg.m_banji=="轻化工程1班")m_banjino=1001;
	else if(dlg.m_banji=="法学1班")m_banjino=1101;
	else if(dlg.m_banji=="法学2班")m_banjino=1102;
	else if(dlg.m_banji=="文学1班")m_banjino=1201;
	else if(dlg.m_banji=="英语1班")m_banjino=1301;
	else m_banjino=1302;
	/*	  	COleDateTime data;
		dlg.m_time.GetTime(data);
		int y,m,d;
		y=data.GetYear();
		m=data.GetMonth();
		d=data.GetDay();
	strdata.Format("%d-%d-%d",y,m,d);*/ 
	
	//m_birthday=strdata;
	m_political=dlg.m_zhenzhimianmao;
	m_address=dlg.m_jiatingzhuzhi;
	m_tel=dlg.m_dianhua;
	
	m_strSQL.Format("insert into student (stuno,stuname,ssex,score,scorno,xueyuan,deptname,classname,political,address,tel,classno) values('%s','%s','%s',%d,%d,'%s','%s','%s','%s','%s','%s',%d)",m_stuid,m_name,m_sex,m_chengji,m_xuefen,m_xueyuan,m_deptname,m_class,m_political,m_address,m_tel,m_banjino);
	if(dlg.m_xuehao=="")
	{
		AfxMessageBox("学号不能为空!");
		return;
	}
	else
		OnExecute();
	MessageBox("添加成功,显示是按学号排序后的第一条记录");
	OnBUTTONView();	
}

void CStudent2View::OnRecEdit()    //修改按钮命令消息处理函数
{
	// TODO: Add your control notification handler code here
	CXiugaiDlag dlg;
	_variant_t varname,varno,vardeptname,varxueyuan,varxuefen,varchengji;
	_variant_t varcsrq,varjtzz,vardhhm,varzzmm,varxingbie,varbanji;
	try
	{
		varno=m_Recordset->GetCollect("stuno");
		varname=m_Recordset->GetCollect("stuname");
		vardeptname=m_Recordset->GetCollect("deptname");
		varxueyuan=m_Recordset->GetCollect("xueyuan");
		varchengji=m_Recordset->GetCollect("score");
		varxuefen=m_Recordset->GetCollect("scorno");
		varbanji=m_Recordset->GetCollect("classname");
		varcsrq=m_Recordset->GetCollect("birthday");
		varjtzz=m_Recordset->GetCollect("address");
		vardhhm=m_Recordset->GetCollect("tel");
		varzzmm=m_Recordset->GetCollect("political");
		varxingbie=m_Recordset->GetCollect("ssex");
		if(varno.vt!=VT_NULL)dlg.m_xuehao=(char *)_bstr_t(varno);
		if(varname.vt!=VT_NULL)dlg.m_xingming=(char *)_bstr_t(varname);
		if(vardeptname.vt!=VT_NULL)dlg.m_deptname=(char *)_bstr_t(vardeptname);
		if(varxueyuan.vt!=VT_NULL)dlg.m_xueyuan=(char *)_bstr_t(varxueyuan);
		if(varchengji.vt!=VT_NULL)dlg.m_chengji=(char *)_bstr_t(varchengji);
		
		if(varxuefen.vt!=VT_NULL)dlg.m_xuefen=(char *)_bstr_t(varxuefen);
		if(varbanji.vt!=VT_NULL)dlg.m_banji=(char *)_bstr_t(varbanji);
		
		
		//if(varcsrq.vt!=VT_NULL)dlg.m_chushengriqi=(char *)_bstr_t(varcsrq);
		if(varjtzz.vt!=VT_NULL)dlg.m_jiatingzhuzhi=(char *)_bstr_t(varjtzz);
		if(vardhhm.vt!=VT_NULL)dlg.m_dianhua=(char *)_bstr_t(vardhhm);
		if(varzzmm.vt!=VT_NULL)dlg.m_zhengzhimianmao=(char *)_bstr_t(varzzmm);
		if(varxingbie.vt!=VT_NULL)dlg.m_xingbie=(char *)_bstr_t(varxingbie);
	}
	catch(_com_error &e)
	{
		MessageBox("请先选择你要修改的学生");
		return;
	}
	UpdateData(FALSE);
	
	dlg.DoModal();
}

void CStudent2View::OnRecDel()     //删除按钮命令消息处理函数
{
	// TODO: Add your control notification handler code here
	if(m_delflag==2)
	{
		if(MessageBox("您确信要删除你选定的学生信息吗?", "确认", 
			MB_OK | MB_YESNO | MB_ICONQUESTION) == IDYES)
		{
			
			CString strSQL;
			strSQL.Format("DELETE from student WHERE stuno = '%s'" ,m_stuno);
			
			CDatabase db;
			db.Open(_T("studentsn"));
			db.ExecuteSQL(strSQL) ;
			db.Close();
			
			/*			try 
			{  // 假设删除第二条记录 
			m_Recordset->MoveFirst(); 
			m_Recordset->Move(1);   // 从0开始 
			m_Recordset->Delete(adAffectCurrent);  // 参数adAffectCurrent为删除当前记录 
			m_Recordset->Update(); 
			} 
			catch(_com_error *e) 
			{  
			AfxMessageBox(e->ErrorMessage());	}*/
	
			AfxMessageBox("记录已删除!");
		}	
	}
	else
		AfxMessageBox("请选择你要删除的学生!");
	m_delflag=1;
}

void CStudent2View::OnBUTTONFind()    //查询按钮命令消息处理函数
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	m_StrQuery.TrimLeft();
	if(m_StrQuery.IsEmpty())
	{
		AfxMessageBox("查询学号不能为空");//判断是否为空
		return;
	}
	
	m_stuid=m_StrQuery;
	
	m_strSQL.Format ("select * from student where stuno='%s'", m_stuid);
	OnExecute();
	
	if(m_DataGrid.GetRow()==-1)
	{
		MessageBox("无此记录");
		UpdateData(false);
		return;
	}
	
	_variant_t varname,varno,vardeptname,varxueyuan,varxuefen,varchengji;
	_variant_t varjtzz,varzzmm,vardhhm;
	try
	{
		varno=m_Recordset->GetCollect("stuno");
		varname=m_Recordset->GetCollect("stuname");
		vardeptname=m_Recordset->GetCollect("deptname");
		varxueyuan=m_Recordset->GetCollect("xueyuan");
		varchengji=m_Recordset->GetCollect("score");
		varxuefen=m_Recordset->GetCollect("scorno");
		varjtzz=m_Recordset->GetCollect("address");
		varzzmm=m_Recordset->GetCollect("political");
		vardhhm=m_Recordset->GetCollect("tel");
		
		if(varno.vt!=VT_NULL)m_stuno=(char *)_bstr_t(varno);
		if(varname.vt!=VT_NULL)m_stuname=(char *)_bstr_t(varname);
		if(vardeptname.vt!=VT_NULL)m_deptname1=(char *)_bstr_t(vardeptname);
		if(varxueyuan.vt!=VT_NULL)m_xueyuan1=(char *)_bstr_t(varxueyuan);
		if(varchengji.vt!=VT_NULL)m_score=(char *)_bstr_t(varchengji);
		if(varxuefen.vt!=VT_NULL)m_scorno=(char *)_bstr_t(varxuefen);
		if(varjtzz.vt!=VT_NULL)m_jtzz=(char *)_bstr_t(varjtzz);
		if(varzzmm.vt!=VT_NULL)m_zzmm=(char *)_bstr_t(varzzmm);
		if(vardhhm.vt!=VT_NULL)m_dhhm=(char *)_bstr_t(vardhhm);
	}
	catch(_com_error &e)
	{
		MessageBox("无此记录");
		return;
	}
	UpdateData(FALSE);
		
}

void CStudent2View::OnBUTTONFinddel()    //清空查询按钮命令消息处理函数
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	m_StrQuery="";
	UpdateData(FALSE);	
}

BOOL CStudent2View::OnCommand(WPARAM wParam, LPARAM lParam) 
{
	// TODO: Add your specialized code here and/or call the base class
	CString str;
	CMainFrame *pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;
	CStatusBar *pStatus=&pFrame->m_wndStatusBar;
	if(pStatus){
		CRecordsetStatus rStatus;
		m_pSet->GetStatus(rStatus);
		str.Format("当前记录:%d/总记录:%d",1+rStatus.m_lCurrentRecord,
			m_pSet->GetRecordCount());
		pStatus->SetPaneText(1,str);
	}
	return CRecordView::OnCommand(wParam, lParam);
}

void CStudent2View::OnButtonExit() //退出按钮命令消息处理函数
{
	// TODO: Add your control notification handler code here
	try
	{
		if(m_Recordset!=NULL)
		{		
			m_Recordset->Close();    //关闭记录集
			m_Recordset = NULL;
		}
		if(m_Connection!=NULL)
			m_Connection->Close();   //关闭连接
	}
	catch(...){}	
	PostMessage(WM_QUIT);
}

void CStudent2View::OnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	
	hItem = m_tcTest.GetSelectedItem();
	m_flag=1;
	*pResult = 0;
}


void CStudent2View::OnExecute()   //用于完成数据库操作的一些公共功能
{
	try
	{
		m_Recordset.CreateInstance(__uuidof(Recordset));  //创建实例
		UpdateData(TRUE);   //将控件的值保存到变量中
		m_Connection->CursorLocation=adUseClient;         //设置光标服务
		//根据字符串strSQL开启数据连接,得到结果
		m_Recordset->Open(m_strSQL.GetBuffer(0),
			m_Connection.GetInterfacePtr(),
			adOpenDynamic,
			adLockOptimistic,adCmdText);
	}
	catch(_com_error &e)                             //捕获例外_com_error
	{
		MessageBox(e.Description());
	}
	catch(...){}
	
	m_DataGrid.SetRefDataSource((LPUNKNOWN)m_Recordset);
	m_DataGrid.Refresh();                          //刷新DataGrid
	UpdateData(FALSE);                             //将变量中的值保存到控件中
}

BEGIN_EVENTSINK_MAP(CStudent2View, CRecordView)
//{{AFX_EVENTSINK_MAP(CStudent2View)
ON_EVENT(CStudent2View, IDC_DATAGRID, -605 /* MouseDown */, OnMouseDownDatagrid, VTS_I2 VTS_I2 VTS_I4 VTS_I4)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

//当鼠标电击DataGrid的某一行时响应的函数
void CStudent2View::OnMouseDownDatagrid(short Button, short Shift, long X, long Y) 
{
	// TODO: Add your control notification handler code here	
	m_delflag=2;	
	_variant_t varname,varno,vardeptname,varxueyuan,varxuefen,varchengji;
	_variant_t varjtzz,varzzmm,vardhhm;
	try
	{
		varno=m_Recordset->GetCollect("stuno");
		varname=m_Recordset->GetCollect("stuname");
		vardeptname=m_Recordset->GetCollect("deptname");
		varxueyuan=m_Recordset->GetCollect("xueyuan");
		varchengji=m_Recordset->GetCollect("score");
		varxuefen=m_Recordset->GetCollect("scorno");
		varjtzz=m_Recordset->GetCollect("address");
		varzzmm=m_Recordset->GetCollect("political");
		vardhhm=m_Recordset->GetCollect("tel");
		
		if(varno.vt!=VT_NULL)m_stuno=(char *)_bstr_t(varno);
		if(varname.vt!=VT_NULL)m_stuname=(char *)_bstr_t(varname);
		if(vardeptname.vt!=VT_NULL)m_deptname1=(char *)_bstr_t(vardeptname);
		if(varxueyuan.vt!=VT_NULL)m_xueyuan1=(char *)_bstr_t(varxueyuan);
		if(varchengji.vt!=VT_NULL)m_score=(char *)_bstr_t(varchengji);
		if(varxuefen.vt!=VT_NULL)m_scorno=(char *)_bstr_t(varxuefen);
		if(varjtzz.vt!=VT_NULL)m_jtzz=(char *)_bstr_t(varjtzz);
		if(varzzmm.vt!=VT_NULL)m_zzmm=(char *)_bstr_t(varzzmm);
		if(vardhhm.vt!=VT_NULL)m_dhhm=(char *)_bstr_t(vardhhm);
		
	}
	catch(_com_error &e)
	{
		MessageBox("你选择的学生不存在!");
	}
	UpdateData(FALSE);
	/*	CDataGrid m_dg;
	m_stuno=m_dg.GetItem(1);
	m_stuname=m_dg.GetItem(1);
	//m_score=m_DataGrid.GetItem(2);
	//m_scorno=GetItem(3);
	m_nianji1=m_dg.GetItem(4);
	m_xueyuan1=m_dg.GetItem(5);*/
}




void CStudent2View::OnButtonSort() 
{
	// TODO: Add your control notification handler code here
	CPaiming dlg;
	
	CString m_str;
	if(m_flag==1)
	{	
		UpdateData(FALSE);
		dlg.DoModal();
	}
	else 
		AfxMessageBox("请选择你的班级!");
	return;
	
}


void CStudent2View::OnButtonEntry() 
{
	// TODO: Add your control notification handler code here
	CEntry dlg;
	dlg.DoModal();
}

HBRUSH CStudent2View::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CRecordView::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	
	// TODO: Return a different brush if the default is not desired
	return hbr;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -