📄 studentdlg.cpp
字号:
// TODO: Add your control notification handler code here
int num_class,num_type;
num_class=m_comb_class.GetCurSel();
num_type=m_comb_type.GetCurSel();
switch(num_class)
{
case 0:
sql="select * from 1班";
RefreshData(sql);
UpdateData(FALSE);
break;
case 1:
sql="select * from 2班";
RefreshData(sql);
UpdateData(FALSE);
break;
case 2:
sql="select * from 3班";
RefreshData(sql);
UpdateData(FALSE);
break;
}
}
void CStudentDlg::OnBseeall()
{
// TODO: Add your control notification handler code here
// sql="select * from 1班";
CString sql_temp;
int num_class=m_comb_class.GetCurSel();
switch(num_class)
{
case 0:
sql_temp="select * from 1班";
break;
case 1:
sql_temp="select * from 2班";
break;
case 2:
sql_temp="select * from 3班";
break;
}
RefreshData(sql_temp);
UpdateData(FALSE);
}
void CStudentDlg::OnBadd()
{
// TODO: Add your control notification handler code here
CAdddlg dlg;
CString str_sex,str_class;
if(dlg.DoModal()==IDOK)
{
switch(dlg.sex)
{
case 0:
str_sex="男";
break;
case 1:
str_sex="女";
break;
}
switch(dlg.class1)
{
case 0:
str_class="1班";
break;
case 1:
str_class="2班";
break;
case 2:
str_class="3班";
break;
}
if(dlg.m_name.GetLength()<4||dlg.m_name.GetLength()>8||dlg.m_c.GetLength()<1
||dlg.m_data.GetLength()<1||dlg.m_english.GetLength()<1||dlg.m_math.GetLength()<1
||dlg.m_number.GetLength()!=8||dlg.m_paiming.GetLength()<1
||dlg.m_phyical.GetLength()<1/*||dlg.m_sorce.GetLength()<1*/)
{
MessageBox("请正确填写各项信息!");
}
else
{
if(!m_record.Open(AFX_DB_USE_DEFAULT_TYPE,sql))
{
MessageBox("打开数据库失败!");
}
//计算总分数m_sorce
float sum=0,temp;CString sorce;
temp=atof(dlg.m_english);sum+=temp;
temp=atof(dlg.m_math);sum+=temp;
temp=atof(dlg.m_phyical);sum+=temp;
temp=atof(dlg.m_c);sum+=temp;
temp=atof(dlg.m_data);sum+=temp;
sorce.Format("%.1f",sum);
/////////////////////////////////////排名计算
int sort=1;
float temp2;
m_record.MoveFirst();
while(!m_record.IsEOF())
{
temp2=atof(m_record.m_column9);
if(temp2<sorce)
sort++;
m_record.MoveNext();
}
CString ss;
ss.Format("%d",sort);
////////////////////////////////////////////
m_record.AddNew();
m_record.m_column1=dlg.m_number;
m_record.m_column2=dlg.m_name;
m_record.m_column3=str_sex;
m_record.m_column4=str_class;
m_record.m_column5=dlg.m_english;
m_record.m_column6=dlg.m_math;
m_record.m_column7=dlg.m_phyical;
m_record.m_C__=dlg.m_c;
m_record.m_column8=dlg.m_data;
m_record.m_column9=sorce;//dlg.m_sorce;
// m_record.m_column10=ss;
m_record.m_column10=dlg.m_paiming;
m_record.m_column11=dlg.m_remark;
m_record.Update();
m_record.Requery();
m_record.Close();
MessageBox("添加记录成功!");
OnBseeall();
}
}
}
void CStudentDlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
LPPOINT lpoint=new tagPOINT;
::GetCursorPos(lpoint); //获得鼠标
CMenu menu,*pSubMenu;
menu.LoadMenu(IDR_MENU1); //添加菜单资源
pSubMenu=menu.GetSubMenu(0); //设置菜单弹出项目起始位置
pSubMenu->TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this); //获得鼠标位置
*pResult = 0;
}
void CStudentDlg::OnMDelete()
{
// TODO: Add your command handler code here
CString ss;
// 得到项目索引
POSITION pos;
pos =m_list.GetFirstSelectedItemPosition();
index=m_list.GetNextSelectedItem(pos);
ss=m_list.GetItemText(index,0);
CString str_sql;
str_sql.Format("select * from 1班 where 学号='%s'",ss);
if(MessageBox("确实要删除当前选中的记录吗?","警告",
MB_ICONEXCLAMATION|MB_OKCANCEL)==IDOK)
{
if(!m_record.Open(AFX_DB_USE_DEFAULT_TYPE,str_sql))
{
MessageBox("打开数据库失败!");
}
if(!m_record.CanUpdate())
{
MessageBox("数据库不允许删除!");
return;
}
m_record.Delete();
m_record.Requery();
m_record.Close();
OnBseeall();
}
}
void CStudentDlg::OnMadd()
{
// TODO: Add your command handler code here
OnBadd();
}
void CStudentDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
CRect rect;
GetClientRect(&rect);
// if(nType==SIZE_MAXIMIZED)//如果最大化
if(m_comb_class.GetSafeHwnd()!=0)
{
GetDlgItem(IDC_LIST1)->MoveWindow(20,70,cx-40,cy-85);
}
}
void CStudentDlg::OnCloseup_sort()
{
// TODO: Add your control notification handler code here
int sort;
CString str_sort;
sort=m_sort.GetCurSel();
switch(sort)
{
case 0: str_sort="学号"; break;
case 1: str_sort="总分"; break;
case 2: str_sort="总分"; break;
case 3: str_sort="英语"; break;
case 4: str_sort="数学"; break;
case 5: str_sort="物理"; break;
case 6: str_sort="物理"; break;
case 7: str_sort="数据结构";break;
}
m_record.m_strSort=str_sort;
OnBseeall();
}
void CStudentDlg::OnMEdit()
{
// TODO: Add your command handler code here
CString ss;
// 得到项目索引
POSITION pos;
pos =m_list.GetFirstSelectedItemPosition();
index=m_list.GetNextSelectedItem(pos);
ss=m_list.GetItemText(index,0);
CString str_sql;
int item=m_comb_class.GetCurSel();
switch(item)
{
case 0:
str_sql.Format("select * from 1班 where 学号='%s'",ss);
break;
case 1:
str_sql.Format("select * from 2班 where 学号='%s'",ss);
break;
case 2:
str_sql.Format("select * from 3班 where 学号='%s'",ss);
break;
}
// str_sql.Format("'%s' where 学号='%s'",sql,ss);
if(!m_record.Open(AFX_DB_USE_DEFAULT_TYPE,str_sql))
{
MessageBox("打开数据库失败!");
}
if(!m_record.CanUpdate())
{
MessageBox("数据库不允许删除!");
return;
}
CAdddlg dlg;
dlg.m_number=m_record.m_column1;
dlg.m_name=m_record.m_column2;
// dlg.m_sex=m_record.m_column3;
// dlg.m_class=m_record.m_column4;
dlg.m_english=m_record.m_column5;
dlg.m_math=m_record.m_column6;
dlg.m_phyical=m_record.m_column7;
dlg.m_c=m_record.m_C__;
dlg.m_data=m_record.m_column8;
dlg.m_sorce=m_record.m_column9;
dlg.m_paiming=m_record.m_column10;
dlg.m_remark=m_record.m_column11;
if(m_record.m_column3=="男")
{
dlg.init_sex=0;
}
else
dlg.init_sex=1;
if(m_record.m_column4=="1班")
{
dlg.init_class=0;
}
else if(m_record.m_column4=="2班")
{
dlg.init_class=1;
}
else
{
dlg.init_class=2;
}
if(dlg.DoModal()==IDOK)
{
CAdddlg *dd=new CAdddlg;
dd->Create(IDD_DADD,this);
dd->SetWindowText("dddddddddd");
CString str_sex,str_class;
switch(dlg.sex)
{
case 0:
str_sex="男";
break;
case 1:
str_sex="女";
break;
}
switch(dlg.class1)
{
case 0:
str_class="1班";
break;
case 1:
str_class="2班";
break;
case 2:
str_class="3班";
break;
}
if(dlg.m_name.GetLength()<4||dlg.m_name.GetLength()>8||dlg.m_c.GetLength()<1
||dlg.m_data.GetLength()<1||dlg.m_english.GetLength()<1||dlg.m_math.GetLength()<1
||dlg.m_number.GetLength()!=8||dlg.m_paiming.GetLength()<1
||dlg.m_phyical.GetLength()<1/*||dlg.m_sorce.GetLength()<1*/)
{
MessageBox("请正确填写各项信息!");
}
else
{ //计算总分数m_sorce
float sum=0,temp;CString sorce;
temp=atof(dlg.m_english);sum+=temp;
temp=atof(dlg.m_math);sum+=temp;
temp=atof(dlg.m_phyical);sum+=temp;
temp=atof(dlg.m_c);sum+=temp;
temp=atof(dlg.m_data);sum+=temp;
sorce.Format("%.1f",sum);
// m_record.Delete();
// m_record.MovePrev();
m_record.Edit();
m_record.m_column1=dlg.m_number;
m_record.m_column2=dlg.m_name;
m_record.m_column3=str_sex;
m_record.m_column4=str_class;
m_record.m_column5=dlg.m_english;
m_record.m_column6=dlg.m_math;
m_record.m_column7=dlg.m_phyical;
m_record.m_C__=dlg.m_c;
m_record.m_column8=dlg.m_data;
m_record.m_column9=sorce;//dlg.m_sorce;
m_record.m_column10=dlg.m_paiming;
m_record.m_column11=dlg.m_remark;
m_record.Update();
m_record.Requery();
m_record.Close();
OnBseeall();
MessageBox("更新记录成功!");
}
}
else
{
m_record.Close();
return ;
}
}
void CStudentDlg::OnBabout()
{
// TODO: Add your control notification handler code here
CAboutDlg dlg;
dlg.DoModal();
// CString ss="select * from 1班";
// GetPaiming(ss);
}
void CStudentDlg::GetPaiming(CString sql)
{
if(!m_record.Open(AFX_DB_USE_DEFAULT_TYPE,sql))
{
MessageBox("打开数据库失败!");
}
int count;
CString temp;
float x0;
m_record.MoveFirst();
while(!m_record.IsEOF())
m_record.MoveNext();
count=m_record.GetRecordCount();
float *paiming=new float[count+1];
m_record.MoveFirst();
for(int k=1;k<=count;k++)
{
x0=atof(m_record.m_column9);
paiming[k-1]=x0;
}
m_record.Close();
OnBseeall();
delete paiming;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -