基于VC++的学生信息管理系统
基于VC的学生信息管理系统设计与开发

教师信息管理
●信息,包括教师号、教师姓名、性别、职称、研究方向;
●修改教师信息;
●删除教师信息;
●查找教师信息。
课程信息管理
●课程信息,包括课程号、课程名、学分、课程类别等;
●修改课程信息;
●删除课程信息;
●查找课程信息。
成绩查询管理
●按学号查询:
●按课程查询。
在具体实现的时候要注意系统的安全性、协调性和完整性。当用户添加学号时,要保证学号不能重复,同样课程号也不能重复,这样才能实现查询功能和各个信息模块的协调;对数据进行添加、修改、删除、查询时要进行监控,进行出错提示及处理。
2.4据库的创建………………………………………………………8
3.统各功能模块的设计和实现………………………………………..9
3.1Visual C++6.0简介……………………………………………9
3.2创建学生信息管理模块………………………………………..10
3.3创建教师信息管理模块………………………………………...15
目录……………………………………………………………………….1
摘要……………………………………………………………………….2
前言……………………………………………………………………….3
1.系统分析……………………………………………………………..4
1.1功能需求分析…………………………………………………...4
类型:课程设计
题目:基于VC的学生信息管理系统设计与开发
运用VisualC++6.0和Micorsoft SQL Sever 2000实现一个学生管理系统的开发过程。系统的结构采用当前流行的C/S模式。系统前端界面以VisualC++6.0为开发工具,主要运用ActiveX控件ADO Data Control和DataGrid Control实现;系统后端数据库用Micorsoft SQL Sever 2000来创建。在系统的开发过程中, 灵活地运用了ADO对象操纵数据库的技术和OLE DB的数据库链接方法。本系统的开发是对陆良县职业中学学生管理工作信息化的一种尝试。
基于VC++数据库的学生信息管理系统

摘要:随着社会的发展与科技的全面进步,使得人们越来越向信息化、数字化发展,管理信息系统(MIS)是一个由人、计算机等组成的能进行信息的收集、传递、储存、加工、维护和实用的系统,必然会代替过去大量的、繁琐的手工操作。
对于学校来说,对学生的各种信息进行统计并显示是非常重要的。
本文通过Visual C++ 6.0的编程环境编写学生信息管理系统,利用Microsoft Office Access 2003数据库系统编写数据表,采用ADO数据库访问技术,用模块化设计方式将系统各个功能模块层层分解,设计出系统的模块化结构,并根据系统的具体要求和需要实现功能,详细的定义了各个模块的具体功能。
开发主要包括后天数据库的建立和维护以及前端应用程序的开发两个方面,实现了学生信息的创建及学生信息的输入、浏览、维护和统计,使得系统具有功能强大,界面友好的特点。
关键词:信息管理;Visual C++ 6.0 ;Access ;ADOAbstract: With the development of society and the progress of technology, cause the people more and more to the information, the digitized develop, the management information system composed by people and computer is a system which can collect, transmit, store, process and maintenance the information. It inevitably can massively replace the numerous and diver manual operation. For a school, it is very important to impose the information of the students and show them out. This article through the environment of Visual C++ 6.0 to compile the students information management system, uses Microsoft Office Access 2003 database system design database tables, uses the ADO technology contact the database, the systematic each function module layer upon layer will decompose with the way of the modular design, designs the modular structure of the system. The function of each modular will found according to the specific request of the system. The develops mainly includes two aspects, the backstage establishment and maintenance of database as well as the front end development of application procedure, has realized foundation, input, browsing, maintenance and statistics, enables the system to has the characteristics that formidable function and friendly surface.Key words: Information management; Visual C++6.0;Access; ADO目录1 引言 (1)2 系统概述 (2)2.1 系统需求分析.................................................................................... 错误!未定义书签。
学生信息管理系统 vc6.0 c语言

/***************************************************************************** * 这是电话本管理程序的功能文件。
实现电话本信息的增加、查询、修改、删除和显示**本单元所列所有函数均需处理人机交互,即需要负责以下功能:* ①现完成界面生成。
* ②从输入设备获取内容。
* ③将结果输出到输出设备上。
* ④完成每一分功能的业务流程控制。
** 文件名:TONGXUN.cpp* 作者:lwj,,,* 创建日期:2011-04-25* 完成日期:2011-* 版本:1.0* 修改记录:*******************************************************************************/ #include <stdio.h>#include <stdlib.h>/*与malloc.h差不多*/#include <string.h>#include<conio.h>#define maxlen 100struct persons{ char name[10];/*定义结构体数组用于缓存数据*/char addr[20];char phnum[15];char email[25];}persons[maxlen];;;;typedef struct lnode{ /*通讯录结构中结点的定义*/char name[10];/*姓名*/char addr[20]; /*地址*/char phnum[15];/*电话*/char email[25];struct lnode *next;}listnode,*linklist;;;;linklist head=NULL,r=NULL; /*定义头指针和尾指针*/listnode *s,*p0,*p1,*p2,*p3,*p4,*p5,*p6,*p7;int i;char name1[10],name2[10],name3[10],name4[10],ch;char str1[20];FILE *fp; /*定义文件指针*/;;void creat()/*将文件的信息读入结构体数组在转存入链表中*/{int j;int k;fp=fopen("people.txt","r+t"); /*打开文件*/if(fp!=NULL){for(i=1;i<maxlen;i++){j=fgetc(fp);if(j==EOF)return;k=i-1;fseek(fp,k*sizeof(struct persons),0);/*读取一个人的信息*/fread(&persons[i],sizeof(struct persons),1,fp);s=(linklist)malloc(sizeof(listnode)); /*装存入链表中*/strcpy(s->name,persons[i].name);strcpy(s->addr,persons[i].addr);strcpy(s->phnum,persons[i].phnum);strcpy(s->email,persons[i].email);if(head==NULL) /*用尾插法将其插入链表中*/head=s;else{r->next=s;}/*连接*/r=s;r->next=NULL;/*末尾化*/}}else { printf("\n*\t\t\t\1There's no file!");fp=fopen("people.txt","w+");/*不能打开另开辟一个文件*/printf("\n*\t\t\t\1Bulid people.txt!!!!!!!!!!");i=1; }};;void Show() /*显示所有的信息*/{p1=head;while(p1!=NULL){printf("\n\t\t\t* name:%s *",p1->name);printf("\n\t\t\t* addr:%s *",p1->addr);printf("\n\t\t\t* phnum:%s *",p1->phnum);printf("\n\t\t\t* email:%s",p1->email);printf("\n\t\t\t***********************************");p1=p1->next;}};;;void Delete()/*定义一个删除的函数*/{printf("\n\n\t\t\t*please input the name:");gets(name1); /*输入要删除人的姓名*/p4=head;if(strcmp(p4->name,name1)==0){p5=p4;p4=p4->next; /*根据各种情况判断可能性*/head=p4;free(p5);printf("\n\t\t\t\1Delete completed!\n");}else{while(p4->next!=NULL){if(strcmp(p4->next->name,name1)==0){p5=p4->next;p4->next=p4->next->next;free(p5);printf("\n\t\t\t\1Delete completed!\n");break;}else{ p4=p4->next;if(p4->next==NULL)break;}break;} if(p4->next==NULL)printf("\n\n\t\t\t*It is not exit in the addr-book!");}};;;void Find() /*查找的函数定义*/{printf("\n\t\t\t*please input the name:");p0=head;gets(name2); /*查找人的姓名输入*/while(strcmp(name2,p0->name)!=0){ p0=p0->next;if(p0==NULL)/* 未查到,结束循环*/break;}if(p0==NULL)printf("\n\t\t\tIt is not exit in the addr-book!");else{ printf("\n\t\t\t***********************************");printf("\n\t\t\t* name:%s *",p0->name);printf("\n\t\t\t* addr:%s *",p0->addr);printf("\n\t\t\t* phnum:%s *",p0->phnum);printf("\n\t\t\t* email:%s",p0->email);printf("\n\t\t\t***********************************");}};;;void Input()/*向通讯录中输入一个人的信息*/{ s=(linklist)malloc(sizeof(listnode));printf("\n\n\t\t\t*please input the sb's meg:");printf("\n\n\t\t\t*name:"); scanf("%s",s->name);printf("\n\n\t\t\t*Addr:");scanf("%s",s->addr);printf("\n\n\t\t\t*phnum:");scanf("%s",s->phnum);printf("\n\n\t\t\t*email:");scanf("%s",s->email);if(head==NULL)head=s;elser->next=s;r=s;r->next=NULL;};;;void Alter()/*改变一个人的信息*/{int j;printf("\n\n\t\t\t*Please input the name:");gets(name3); /*输入要人的姓名*/p3=head;while(strcmp(name3,p3->name)!=0){p3=p3->next;if(p3==NULL)break;}if(p3==NULL)printf("\n\n\t\t\t*It is not exit in the addr-book!");else{printf("\n\n\t\t\t*please input the new meg!"); /*输入要改人的新信息*/ printf("\n\n\t\t\t*name:");scanf("%s",name1);strcpy(p3->name,name1);printf("\n\n\t\t\t*Addr:");scanf("%s",name1);strcpy(p3->addr,name1);printf("\n\n\t\t\t*phnum:");scanf("%s",name1);strcpy(p3->phnum,name1);printf("\n\n\t\t\t*email:");scanf("%s",name1);strcpy(p3->email,name1);}};;;void Save() /*保存信息*/{int j;fp=fopen("people.txt","w");p2=head;j=0;do/*将信息装出入结构体数组在出入链表中*/{strcpy(persons[j].name,p2->name);strcpy(persons[j].addr,p2->addr);strcpy(persons[j].phnum,p2->phnum);strcpy(persons[j].email,p2->email);fwrite(&persons[j],sizeof(struct persons),1,fp);p2=p2->next;j++;}while(p2!=NULL);};;;void ps()/*功能结尾清屏*/{printf("\n\t\t\tPress any key to continue:");getch();system("cls");printf("\n\t\t\t***********************************"); };;;void main(){creat();system("color 80");/*改变颜色*/do{printf("\n\n\n\n\t\t\t WELCOME TO USE OUR Address book");/*显示提示的信息*/printf("\n\n\n\t\t\t***********************************"); printf("\n\t\t\t* Please make a choice below: *");printf("\n\t\t\t* 1.Show all the meg *");printf("\n\t\t\t* 2.Delete a piece of meg *");printf("\n\t\t\t* 3.Find a piece of meg *");printf("\n\t\t\t* 4.Insert a piece of meg *");printf("\n\t\t\t* 5.Alter a piece of meg *");printf("\n\t\t\t* 6.Save and Exit *");printf("\n\t\t\t***********************************");printf("\n\n\n\t\t\t*Input Your Choice:");ch= getch();system("cls");printf("\n\n\n\n\t\t\t***********************************"); switch(ch)/*调用函数*/{ case '1': Show();ps();break;case '2': Delete();ps();break;case '3': Find();ps();break;case '4': Input();system("cls");printf("\n\t*********************************\n");break;case '5': Alter();ps();break;case '6': Save();printf("\n\t\t\t\1save completed!\n");printf("\n\t\t\tThank you!Press any key to continue:");getch();fclose(fp);exit(0);break;default:printf("\n\t\t\t***********************************");printf("\n\t\t\t The num should 1-6!!! \n");printf("\n\t\t\t***********************************");break;}}while(1);}。
基于VC++的学生信息管理系统课设报告

1 绪论随着信息技术在管理上越来越深入而广泛地应用,管理信息系统的实施在技术上已经逐步成熟。
管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把部活动有机的组织起来,就必须建立与自身特点相适应的管理信息系统。
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量学要有信息管理系统来提高学生信息管理系统的效率。
通过这样的系统可以做到信息的规管理,科学统计和快速查询,修改,添加,删除等,从而减少管理方面的工作量。
本次课程设计的学生管理系统主要用于学校学生信息管理,其主要任务是用计算机对学生各种信息进行日常管理,如添加,修改,删除,查询和排序等等。
根据这些要求我通过在Visual C++6.0的环境下进行系统的设计,数据库设计,窗口及相应的程序设计来完成设计学生管理系统。
2 系统设计用SQL Sever 2008设计学生信息数据库,数据库表项中包括学号,,年龄,性别,出生年月,地址,,E-mail。
连接数据库,编写VC++程序,实现以下功能:(1)学生信息的录入功能(2)学生信息的浏览功能(3)学生信息的查询功能(可以按学号,进行查询)(4)学生信息的排序(可以按学号,进行排序)(5)学生信息的删除和修改功能系统结构图如图1:图1 系统结构图说明:在主窗口可以直接排序、删除和浏览。
查询条件、修改信息和添加信息都需要在弹出的模态对话框中输入,在主窗口显示。
实现功能总程序流程图如图2:图2 程序流程图流程图说明:首先进行初始化,进入主窗口,在主窗口有进入各种操作的按钮,判断是什么功能的按钮按下,进入相应功能。
若是删除、排序或者浏览按钮,则直接在主窗口显示相应的结果;若是添加按钮被按下,则弹出对话框,在对话框中输入要添加的学生的信息,确定后保存;若是修改按钮被按下,则弹出对话框,在对话框中填写修改后希望保存的信息,确定后保存修改;若是查询按钮被按下,弹出对话框,输入查询条件,确认后在主窗口显示信息。
基于VC++的学生信息管理系统

《Visual C++程序设计》课程设计报告班级:计算机系软件 Z102班 姓名:曹立红 学号:104431一•引言该次课程设计后台数据库连接 ACCESS^创建数据库应用程序。
创建支持数据库的单文档的应用程序 使用ListControl 控件显示并操作原数据库表格内容,其功能可实现表格中信息项目的添加、修改、删除、 刷新、查询,其中查询功能分为单条件查询和多条件查询两种。
二•系统设计1•主页面如下:运行之后 ACCESS 表中的数据就会在 List Control 控件中显示通过主页面可以对表格中 信息项目进行简单的刷新,删除,单条件查询(按姓名,学号,所在系,性别,出生年份的单独查询)和多 条件查询(按姓名,学号,所在系,性别,出生年份的组合查询)。
添加一行,并且可以进行多次添加,点击确定之后刷新即可在2•点击添加按钮即可进入添加对话框如下:可以输入相关数据点击添加按钮之后即可在原数据表中进行 List Con trol 控件中显示。
3•点击修改按钮即可进入修改对话框如下:可以对已有的相关数据进行修改点击确定按钮之后即可改变原数据表中数据行,刷新即可在List Co ntrol 控件中显示。
三.系统实现1.运行界面图及各模块主要代码:支嵐n 辐口记曇向科刘" ”|直八H ?两姑舸擄舒瞧甥颤础姐电趾生轴2S19C9/1HT nlvsMlq a1ML/1/1B CSBSL9K/9/15B5m/^ialMO/VlO!bim/fA<JF101 陽15GTa.刷新功能的实现:void CKeView::O nshuaxi n(){if(m_pSet->lsOpe n())m_pSet->Close();〃如果此时数据库表打开则进行关闭。
CStri ng str="select * from stude nt";m_pSet->Ope n(AFX_DB_USE_DEFAULT_TYPE,str);〃然后以S 所示条件对数据库表进行打开。
VC++学生信息管理系统课程设计报告

目录1绪论 (1)1.1项目简介 (1)1.2设计目的 (1)1.3设计内容 (1)2需求分析 (1)2.1数据需求 (1)2.2事务需求 (2)3概要设计 (2)3.1系统的大致流程图 (2)4详细设计 (2)4.1系统的流程图 (2)4.2整体逻辑数据库结构 (3)4.3涉及算法的思想 (3)5用户使用说明 (4)5.1开发运行环境 (4)5.2数据库的名称及内容 (4)6关键源程序 (5)6.1建立工程 (5)6.2模块1 (5)6.3模块2 (9)6.5模块4 (12)7测试结果及运行界面 (19)8总结 (23)8.1系统实现程度 (23)8.2问题及难点 (23)8.3收获与体会 (23)参考文献 (24)1绪论1.1项目简介本系统主要实现学生信息管理功能,为老师与同学提供一个可以快速查找信息的平台。
1.2设计目的方便老师与同学查看学生信息,提高学生信息管理的效率,节省时间,从而实现学校工作的边界管理。
1.3设计内容主要包括:用户的登陆于注册,对学生信息的增加删除修改。
2需求分析2.1数据需求系统需要处理哪些数据总体分为用户输入的数据和从数据库中获得的数据。
主要数据类型包括:CString类型数据、double类型数据、int类型数据和CTime类型数据。
2.2事务需求用户:登陆、注册,对数据的增删改3概要设计3.1系统的大致流程图4详细设计4.1系统的流程图4.2整体逻辑数据库结构4.3涉及算法的思想4.3.1建立数据库通过ADO建立两个数据库(新建 Microsoft Office Access 应用程序)存放登陆信息和学生信息。
4.3.2数据录入在新建学生信息数据库中录入学生信息。
4.3.3登录框的设计4.3.3.1 建立变量Sname,Spsw,通过格式变幻,将CString格式转换成数据库规定的格式4.3.3.2 通过compare函数将输入的用户名与密码与数据库比较4.3.4注册框的设计先判定输入框里的名字在数据库里不存在,然后将输入的信息替换入数据库4.3.5添加记录4.3.5.1建立一个新的窗口,包含姓名,学号,年龄等基本信息录入框 4.3.5.2用户录入要添加记录信息,如果要添加记录和已有记录不冲突就会把录入信息添加到新建 Microsoft Office Access 应用程序记录集中。
基于VC++的学生信息管理系统课设报告

1 绪论随着信息技术在管理上越来越深入而广泛地应用,管理信息系统的实施在技术上已经逐步成熟。
管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机的组织起来,就必须建立与自身特点相适应的管理信息系统。
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量学要有信息管理系统来提高学生信息管理系统的效率。
通过这样的系统可以做到信息的规范管理,科学统计和快速查询,修改,添加,删除等,从而减少管理方面的工作量。
本次课程设计的学生管理系统主要用于学校学生信息管理,其主要任务是用计算机对学生各种信息进行日常管理,如添加,修改,删除,查询和排序等等。
根据这些要求我通过在Visual C++6.0的环境下进行系统的设计,数据库设计,窗口及相应的程序设计来完成设计学生管理系统。
2 系统设计用SQL Sever 2008设计学生信息数据库,数据库表项中包括学号,姓名,年龄,性别,出生年月,地址,电话,E-mail。
连接数据库,编写VC++程序,实现以下功能:(1)学生信息的录入功能(2)学生信息的浏览功能(3)学生信息的查询功能(可以按学号,姓名进行查询)(4)学生信息的排序(可以按学号,姓名进行排序)(5)学生信息的删除和修改功能系统结构图如图1:图1 系统结构图说明:在主窗口可以直接排序、删除和浏览。
查询条件、修改信息和添加信息都需要在弹出的模态对话框中输入,在主窗口显示。
实现功能总程序流程图如图2:图2 程序流程图流程图说明:首先进行初始化,进入主窗口,在主窗口有进入各种操作的按钮,判断是什么功能的按钮按下,进入相应功能。
若是删除、排序或者浏览按钮,则直接在主窗口显示相应的结果;若是添加按钮被按下,则弹出对话框,在对话框中输入要添加的学生的信息,确定后保存;若是修改按钮被按下,则弹出对话框,在对话框中填写修改后希望保存的信息,确定后保存修改;若是查询按钮被按下,弹出对话框,输入查询条件,确认后在主窗口显示信息。
C课程设计学生信息管理系统

查询模块:根据条件查询学生信息
系统管理模块:系统设置、权限管理 等功能
01
系统实现
系统开发环境与工具
开发语言:Java 开发工具:Eclipse 数据库:MySQL
前端框架:Bootstrap 版本控制工具:Git 测试工具:JUnit
系统关键技术实现
数据库设计:使用SQL Server 或MySQL等数据库管理系统进 行数据存储和管理
稻壳公司
C课程设计学生信息 管理系统
单击此处添加副标题
汇报人:
目录
单击添加目录项标题
01
系统概述
02
系统需求分析
03
系统设计
04
系统实现
05
系统评估与总结
06
01
添加章节标题
01
系统概述
系统的目标与功能
目标:实现学生信息的高效管理 功能:学生信息录入、查询、修改、删除 功能:课程信息录入、查询、修改、删除 功能:成绩信息录入、查询、修改、删除 功能:用户权限管理,确保信息安全
01
系统设计
系统架构设计
前端:使用HTML、CSS、 JavaScript等技术进行 页面布局和功能实现
后端:使用Java、 Spring Boot等技术进 行业务逻辑处理和数据库 操作
数据库:使用MySQL、 Oracle等关系型数据库 进行数据存储和管理
接口:使用RESTful API 进行前后端数据交互
风险评估:系统可能面临 的风险及应对措施
系统性能评估
响应时间:系统处理用户请求所需的时 间
可靠性:系统在运行过程中出现故障 的概率
吞吐量:系统在单位时间内处理的请 求数量
可扩展性:系统适应未来业务增长的 能力
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
obj.m_vc1=m_pSet->m_column3;
obj.m_vrq=m_pSet->m_column4;
obj.m_vc2 =m_pSet->m_column5;//将需要修改的的行中的各列的内容传递给修改对话框的各变量中
if(obj.DoModal()==IDOK)//修改完毕点击确定后则将修改后的修改对话框的各变量中的值传
if(n<0)//如果没有进行选择则给出提示
{
AfxMessageBox("请选择修改项!");
return;
}
CString str,str1,s;
str=m_Clist.GetItemText(n,0);//取出第n行的第0列的字段即学号列
if(m_pSet->IsOpen())
m_pSet->Close();如果此时数据库表打开则进行关闭
m_Clist.SetItemText(i,4,m_pSet->m_column5);
i++;
m_pSet->MoveNext();//m_pSet所指向的行下移。
}
int n=m_Clist.GetItemCount();
if(n==0)//如果List Control控件中的显示的内容为空
AfxMessageBox("sorry!没有找到匹配项!");
m_pSet->m_column5=obj.m_vc2;
m_pSet->Update();
}
}
d. 添加功能的实现:
在主页面的“添加”按钮中写入下面的代码:
void CKeView::Ontianjia()
{
CTjDlg obj;//定义添加对话框类的对象
obj.DoModal();//打开添加对话框;
{
m_Clist.InsertItem(i,m_pSet->m_column1);
m_Clist.SetItemText(i,1,m_pSet->m_column2);
m_Clist.SetItemText(i,2,m_pSet->m_column3);
int year=m_pSet->m_column4.GetYear();
}
(3)按性别查询:
在按性别查询组框的查询按钮中写如以下代码:
void CKeView::Onchaxun3()
{
UpdateData(1);
if(m_pSet->IsOpen())
m_pSet->Close();
CString s,s1;
if(m_vr1==0)//如果单选按钮中选中第一个按钮
s1="男";//则令单选按钮的变量赋值为“男”;
二.系统设计
1.主页面如下:运行之后ACCESS表中的数据就会在List Control控件中显示通过主页面可以对表格中信息项目进行简单的刷新,删除,单条件查询(按姓名,学号,所在系,性别,出生年份的单独查询)和多条件查询(按姓名,学号,所在系,性别,出生年份的组合查询)。
2.点击添加按钮即可进入添加对话框如下:可以输入相关数据点击添加按钮之后即可在原数据表中进行添加一行,并且可以进行多次添加,点击确定之后刷新即可在List Control控件中显示。
}
(2)按学号查询:
在按学号查询组框的查询按钮中写如以下代码:
void CKeView::Onchaxun1()
{
UpdateData(1);
if(m_pSet->IsOpen())
m_pSet->Close();
CString s;
s="select * from student where 学号='"+m_ve2+"'";//在表中查询学号列与edit中的输入的变量相匹
m_pSet->Close();//如果此时数据库表打开则进行关闭。
CString str="select * from student";
m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,str);//然后以S所示条件对数据库表进行
打开。
m_Clist.DeleteAllItems();//将List Control控件现有的数据项目全部删除。
else s1="女";//否则赋值为“女”;
s="select * from student where 性别='"+s1+"'";
m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,s);
m_pSet->Requery();
m_Clist.DeleteAllItems();
str1="select * from studentwhere 学号='"+str+"'";
m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,str1);以S所示条件对数据库表进行
打开。
CXgDlg obj;//修改对话框中建立的类的对象
obj.m_xh=m_pSet->m_column1;
int month=m_pSet->m_column4.GetMonth();
int day=m_pSet->m_column4.GetDay();
str1.Format("%d/%d/%d",year,month,day);//将原数据库表格的第i行的相应列列的
m_Clist.SetItemText(i,3,str1);内容插到List Control控件的i行各列中;
m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,s);配的行。并以该条件打开数据表。
m_pSet->Requery();
m_Clist.DeleteAllItems();//将List Control控件现有的数据项目全部删除。
Disp();//调用Disp()函数将原数据库表中的内容重新显示。
m_cc1.GetLBText(n,s1);//获取当前选中项的值并赋给变量s1;
m_vc1=s1;//并将该变量赋给组合框的变量。
UpdateData(0);
s="select * from student where 系='"+m_vc1+"'";
3.点击修改按钮即可进入修改对话框如下:可以对已有的相关数据进行修改点击确定按钮之后即可改变原数据表中数据行,刷新即可在List Control控件中显示。
三.系统实现
1.运行界面图及各模块主要代码:
a. 刷新功能的实现:
void CKeView::Onshuaxin()
{
if(m_pSet->IsOpen())
Disp();
}
(4)按所在系查询:
在按所在系查询组框的查询按钮中写如以下代码:
void CKeView::Onchaxun2()
{
//UpdateData(1);
if(m_pSet->IsOpen())
m_pSet->Close();
CString s,s1;
int n=m_cc1.GetCurSel();//n为当前选中项的下标;
void CKeView::OnRadio6()
{
GetDlgItem(IDC_BUTTON10)->EnableWindow(FALSE);//获取对应按钮的ID并设定相应按钮的
GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE); EnableWindow属性FALSE为不可用TRUE为GetDlgItem(IDC_BUTTON6)->EnableWindow(TRUE);可用;
m_pSet2.Open();//在进行打开
m_pSet2.AddNew();//为原数据添加新的一行
m_pSet2.m_column1=m_xingming;
m_pSet2.m_column2=m_xuehao;
m_pSet2.m_column3=m_xb;
m_pSet2.m_column4=m_time;
{递给数据表中对应行中的各列
m_pSet->Edit();
UpdateData(1);
m_pSet->m_column1=obj.m_xh;
m_pSet->m_column2=obj.m_xm;
m_pSet->m_column3=obj.m_vc1;
m_pSet->m_column4=obj.m_vrq;
Disp();//调用Disp()函数将原数据库表中的内容重新显示。
}
void CKeView::Disp()
{
int i=0;
CString str,str1;
while(!m_pSet->IsEOF())//m_pSetCSet类的指针用于指向原数据库表格内容。m_column1,m_column2,m_column3,m_column4,m_column5分别对应原数据库表格的学号,姓名,性别,出生日期,系所在列。
if(m_pSet->IsOpen())
m_pSet->Close();/如果此时数据库表打开则进行关闭
str=m_Clist.GetItemText(n,0);//取出第n行的第0列的字段即学号列