VC学生信息管理系统课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1绪论 (1)
1.1项目简介 (1)
1.2设计目的 (1)
1.3设计内容 (1)
2需求分析 (1)
2.1数据需求 (1)
2.2事务需求 (1)
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测试结果及运行界面 (18)
8总结 (22)
8.1系统实现程度 (22)
8.2问题及难点 (22)
8.3收获与体会 (22)
参考文献 (23)
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 应用程序记录集中。
4.3.6修改记录
对已经录入的学生信息进行修改
4.3.7删除记录将已选中的记录从记录集中去除。
5用户使用说明
5.1开发运行环境
5.1.1设备:
本系统对设备的要求很低,一般的电脑主机都能运行。运行前安装Visual C++ 6.0。
5.1.2支持软件:
系统支持:Windows 7等。开发工具:Visual C++ 6.0、Access 2010。
5.2数据库的名称及内容
本系统包含两个数据库,Data和Database数据库,Database数据库中储存的是用户名与密码,Data数据库中储存的是学生的学号、姓名、年龄、联系方式、宿舍。
Data(学生通讯表)
Database(管理登录表)
6关键源程序
6.1建立工程
6.2模块1
先在学生信息管理系统.cpp中添加代码,通过ADO创建登陆数据库
// 学生信息管理系统.cpp : Defines the class behaviors for the application.
#include "stdafx.h"
#include "学生信息管理系统.h"
#include "学生信息管理系统Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// CMyApp
BEGIN_MESSAGE_MAP(CMyApp, CWinApp)
//{{AFX_MSG_MAP(CMyApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMyApp construction
CMyApp::CMyApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}
// The one and only CMyApp object
CMyApp theApp;
CDaoDatabase db;//建立全局变量,在其他地方调用时要加extern
// CMyApp initialization
BOOL CMyApp::InitInstance()
{
AfxEnableControlContainer();
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL #else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
//这里就是程序入口,在这里添加数据库检查代码
CString "Database.mdb";
CDaoRecordset Dbset(&db);
C Ffind;//先看看存不存在数据库文件
BOOL flag=Ffind.Find);
Ffind.Close();
if(!flag)//如果没有就创建
{
CString sqlcmd="CREATE TABLE DataTable(Name
V ARCHAR(20),Psw V ARCHAR(20))";
db.Create();
db.Execute(sqlcmd);
Dbset.Open(AFX_DAO_USE_DEFAULT_TYPE,"SELECT * FROM DataTable",0);
Dbset.AddNew();
Dbset.SetFieldValue("Name",_variant_t("wzh"));
Dbset.SetFieldValue("Psw",_variant_t("123456"));
Dbset.Update();
Dbset.Close();