📄 student2view.cpp
字号:
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 + -