资源描述:
《基于VC++的学生信息管理系统.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《VisualC++程序设计》课程设计报告班级:计算机系软件Z102班姓名:曹立红学号:104431一.引言该次课程设计后台数据库连接ACCESS并创建数据库应用程序。创建支持数据库的单文档的应用程序使用ListControl控件显示并操作原数据库表格内容,其功能可实现表格中信息项目的添加、修改、删除、刷新、查询,其中查询功能分为单条件查询和多条件查询两种。二.系统设计1.主页面如下:运行之后ACCESS表中的数据就会在ListControl控件中显示通过主页面可以对表格中信息项目进行简单的刷新,
2、删除,单条件查询(按姓名,学号,所在系,性别,出生年份的单独查询)和多条件查询(按姓名,学号,所在系,性别,出生年份的组合查询)。2.点击添加按钮即可进入添加对话框如下:可以输入相关数据点击添加按钮之后即可在原数据表中进行添加一行,并且可以进行多次添加,点击确定之后刷新即可在ListControl控件中显示。3.点击修改按钮即可进入修改对话框如下:可以对已有的相关数据进行修改点击确定按钮之后即可改变原数据表中数据行,刷新即可在ListControl控件中显示。三.系统实现1.运行界面图及各模块主要
3、代码:a.刷新功能的实现:voidCKeView::Onshuaxin(){if(m_pSet->IsOpen())m_pSet->Close();//如果此时数据库表打开则进行关闭。CStringstr="select*fromstudent";m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,str);//然后以S所示条件对数据库表进行打开。m_Clist.DeleteAllItems();//将ListControl控件现有的数据项目全部删除。Disp();//调用D
4、isp()函数将原数据库表中的内容重新显示。}voidCKeView::Disp(){inti=0;CStringstr,str1;while(!m_pSet->IsEOF())//m_pSetCSet类的指针用于指向原数据库表格内容。m_column1,m_column2,m_column3,m_column4,m_column5分别对应原数据库表格的学号,姓名,性别,出生日期,系所在列。{m_Clist.InsertItem(i,m_pSet->m_column1);m_Clist.SetIt
5、emText(i,1,m_pSet->m_column2);m_Clist.SetItemText(i,2,m_pSet->m_column3);intyear=m_pSet->m_column4.GetYear();intmonth=m_pSet->m_column4.GetMonth();intday=m_pSet->m_column4.GetDay();str1.Format("%d/%d/%d",year,month,day);//将原数据库表格的第i行的相应列列的m_Clist.SetI
6、temText(i,3,str1);内容插到ListControl控件的i行各列中;m_Clist.SetItemText(i,4,m_pSet->m_column5);i++;m_pSet->MoveNext();//m_pSet所指向的行下移。}intn=m_Clist.GetItemCount();if(n==0)//如果ListControl控件中的显示的内容为空AfxMessageBox("sorry!没有找到匹配项!");}b.删除功能的实现:voidCKeView::Onshanch
7、u(){intn=-1;n=m_Clist.GetSelectionMark();//n为选中的行号;if(n<0)//如果没有进行选择则给出提示{AfxMessageBox("请选择删除项!");return;}CStrings,str;if(m_pSet->IsOpen())m_pSet->Close();/如果此时数据库表打开则进行关闭str=m_Clist.GetItemText(n,0);//取出第n行的第0列的字段即学号列s="select*fromstudentwhere学号='"+
8、str+"'";m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,s);以S所示条件对数据库表进行打开。m_pSet->Delete();//删除m_pSet->Requery();Onchaxun();//调用刷新函数在ListControl控件中显示}c.修改功能的实现:voidCKeView::Onxiugai(){intn=m_Clist.GetSelectionMark();//n为选中的行号if(n<0)//如果没有进行选择则给出提示{AfxMe