?? student2view.cpp
字號(hào):
else if(dlg.m_banji=="機(jī)械及自動(dòng)化2班")m_banjino=502;
else if(dlg.m_banji=="機(jī)械及自動(dòng)化3班")m_banjino=503;
else if(dlg.m_banji=="環(huán)工1班")m_banjino=601;
else if(dlg.m_banji=="環(huán)工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=="法學(xué)1班")m_banjino=1101;
else if(dlg.m_banji=="法學(xué)2班")m_banjino=1102;
else if(dlg.m_banji=="文學(xué)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("學(xué)號(hào)不能為空!");
return;
}
else
OnExecute();
MessageBox("添加成功,顯示是按學(xué)號(hào)排序后的第一條記錄");
OnBUTTONView();
}
void CStudent2View::OnRecEdit() //修改按鈕命令消息處理函數(shù)
{
// 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("請(qǐng)先選擇你要修改的學(xué)生");
return;
}
UpdateData(FALSE);
dlg.DoModal();
}
void CStudent2View::OnRecDel() //刪除按鈕命令消息處理函數(shù)
{
// TODO: Add your control notification handler code here
if(m_delflag==2)
{
if(MessageBox("您確信要?jiǎng)h除你選定的學(xué)生信息嗎?", "確認(rèn)",
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
{ // 假設(shè)刪除第二條記錄
m_Recordset->MoveFirst();
m_Recordset->Move(1); // 從0開始
m_Recordset->Delete(adAffectCurrent); // 參數(shù)adAffectCurrent為刪除當(dāng)前記錄
m_Recordset->Update();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage()); }*/
AfxMessageBox("記錄已刪除!");
}
}
else
AfxMessageBox("請(qǐng)選擇你要?jiǎng)h除的學(xué)生!");
m_delflag=1;
}
void CStudent2View::OnBUTTONFind() //查詢按鈕命令消息處理函數(shù)
{
// TODO: Add your control notification handler code here
UpdateData(true);
m_StrQuery.TrimLeft();
if(m_StrQuery.IsEmpty())
{
AfxMessageBox("查詢學(xué)號(hào)不能為空");//判斷是否為空
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() //清空查詢按鈕命令消息處理函數(shù)
{
// 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āng)前記錄:%d/總記錄:%d",1+rStatus.m_lCurrentRecord,
m_pSet->GetRecordCount());
pStatus->SetPaneText(1,str);
}
return CRecordView::OnCommand(wParam, lParam);
}
void CStudent2View::OnButtonExit() //退出按鈕命令消息處理函數(shù)
{
// TODO: Add your control notification handler code here
try
{
if(m_Recordset!=NULL)
{
m_Recordset->Close(); //關(guān)閉記錄集
m_Recordset = NULL;
}
if(m_Connection!=NULL)
m_Connection->Close(); //關(guān)閉連接
}
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() //用于完成數(shù)據(jù)庫操作的一些公共功能
{
try
{
m_Recordset.CreateInstance(__uuidof(Recordset)); //創(chuàng)建實(shí)例
UpdateData(TRUE); //將控件的值保存到變量中
m_Connection->CursorLocation=adUseClient; //設(shè)置光標(biāo)服務(wù)
//根據(jù)字符串strSQL開啟數(shù)據(jù)連接,得到結(jié)果
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()
//當(dāng)鼠標(biāo)電擊DataGrid的某一行時(shí)響應(yīng)的函數(shù)
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("你選擇的學(xué)生不存在!");
}
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("請(qǐng)選擇你的班級(jí)!");
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;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -