WEB开发网
开发学院软件开发VC 一个简单的学生成绩管理软件(ODBC开发) 阅读

一个简单的学生成绩管理软件(ODBC开发)

 2008-04-19 20:28:08 来源:WEB开发网   
核心提示:前面我写过一篇《一个完善的ODBC数据库程序》,大家可能看到过,一个简单的学生成绩管理软件(ODBC开发),有鼓励,也有批评,只是由于学生成绩列表的变化引起科目成绩的变化,大家在源程序中看处理过程,但是所有这一切只有一个目的就是学好VC,我学习VC已有接近一年的时间

前面我写过一篇《一个完善的ODBC数据库程序》,大家可能看到过,有鼓励,也有批评,但是所有这一切只有一个目的就是学好VC。我学习VC已有接近一年的时间,水平菜鸟级,而VC知识库给大家提供了一个交流的地方,大家相互学习,共同提高。感谢VC知识库各版版主!!!

在《一个完善的ODBC数据库程序》我提到完善它的很多方面,做一个小软件。我按这个思路做下去,实现了一些基本功能。程序采用对话框,界面按属性页的方式分为两部分: “班级成绩”和“年级成绩”。

程序界面如下图:

先介绍它的使用:

1. 选中“班级成绩”时,首先选择班级,这里我只实现了两个班级管理。按开始按钮,三个列表框显示选中班级的三个记录集。“开始”按钮禁止,而其余对记录集操作的按钮允许。实现了增加记录,删除记录,修改记录,查寻记录,记录排序功能。比以前完善的地方主要在查寻记录,记录排序上。查寻可以按多中情况,而排序通过单击列表头实现,可按升序和降序,每一列都可实现排序。因为用了多记录集,所以在功能实现上麻烦了很多,大家可以看源程序。大家看过以后,可能觉得班级各科目列表,老师列表用文件或数组更容易实现,因为它们记录个数有限,固定。我之所以用数据库,是想学好ODBC,掌握多记录集编程。增加记录,删除记录,修改记录跟以前思路相同,只是由于学生成绩列表的变化引起科目成绩的变化,大家在源程序中看处理过程。下面主要看一下查寻记录和记录排序。

查寻记录

void CBaDialog::OnFind()
{
  // TODO: Add your control notification handler code here
CFinDialog dlg;
if( dlg.DoModal()==IDOK)
{
this->Select();
m_bSet.Close();
if(dlg.m_Getstring2==">=")
m_Set.m_strFilter.Format("[%s]>=%.2f",dlg.m_Getstring1,dlg.m_find);
if(dlg.m_Getstring2=="=")
m_Set.m_strFilter.Format("[%s]=%.2f",dlg.m_Getstring1,dlg.m_find);
if(dlg.m_Getstring2=="<=")
m_Set.m_strFilter.Format("[%s]<=%.2f",dlg.m_Getstring1,dlg.m_find);
m_ListCtrlx.DeleteAllItems();
m_Set.Requery();
if(m_Set.IsEOF())
{
AfxMessageBox("没有符合条件的记录");
m_Set.Close();
return ;
}
else
this->Show();
}
}

记录排序

void CBaDialog::OnColumnclickList3(NMHDR* pNMHDR, LRESULT* pResult)
{
  NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
  if(FALSE== m_bS)
  {
   int k= pNMListView->iSubItem;
   Sort(!m_bIsAsc,k);
   m_ListCtrlx.DeleteAllItems();
   this->Show();
  }
  *pResult = 0;
}
void CBaDialog::Sort(BOOL isAsc,int secol)
{ 
  if(m_Set.IsOpen())
   m_Set.Close();
  this->Select();
  m_bSet.Close();
  CODBCFieldInfo fieldInfo;
  m_Set.GetODBCFieldInfo(secol,fieldInfo);
  if(isAsc)
  {
    m_Set.m_strSort=fieldInfo.m_strName+" ASC";
    m_bIsAsc=TRUE;
  }
  else
  {
    m_Set.m_strSort=fieldInfo.m_strName+" DESC";
    m_bIsAsc=FALSE;
  }
  m_Set.Requery();  
}

1 2  下一页

Tags:一个 简单 学生

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接