通讯录实验报告.docx
《通讯录实验报告.docx》由会员分享,可在线阅读,更多相关《通讯录实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
通讯录实验报告
安徽理工大学
数据库系统概论
课程设计说明书
题目:
通讯录系统
院系:
计算机科学与工程学院
专业班级:
电子信息技术及仪器11-1班
学号:
07
学生姓名:
周松林
指导教师:
胡胜利
2013年06月10日
安徽理工大学课程设计(论文)任务书
计算机科学与工程学院
学号
07
学生姓名
周松林
专业(班级)
电子信息技术及仪器11-1班
设计题目
通讯录系统
设
计
技
术
参
数
系统平台:
Windows7
开发工具:
VC++
SQLserver2005
设
计
要
求
设计一个通讯录系统,通过VC++的MFC将数据库中的表链接起来,在MFC中实现通讯录系统中联系人录入,删除,查找,编辑等功能
工
作
量
课程设计报告要求不少于3000字。
源程序要求不少于300行
工
作
计
划
2013年4月20日-2013年4月25日:
分析并建数据库
2013年4月26日-2013年5月10日:
编写程序实现基本功能
2013年5月11日-2013年5月25日:
写课程设计报告
2013年5月26日-2013年6月10日:
课程设计报告定稿
参
考
资
料
[1]InmonWH.数据库.王志海等译[B].北京:
机械工业出版社,2000
[2]ImhoffC等.数据库设计.于戈等译[B].北京:
机械工业出版社,2003
[3]温秀梅,丁学钧.C++语言程序设计教程与实验[M].北京清华大学出版社,2004
[4]严华峰等.VisualC++课程设计案例精编[P].北京:
中国水利水电出版社,2004
[5]王珊,萨师煊.数据库系统概述(第四版)[M].北京:
高等教育出版社出版,2006
指导教师签字
教研室主任签字
2013年03月20日
学生姓名:
周松林学号:
07专业班级:
电子仪器11-1班
课程设计题目:
通讯录系统
指导教师评语:
成绩:
指导教师:
年月日
安徽理工大学课程设计(论文)成绩评定表
1需求分析1
2总体设计2
数据库设计2
通讯录系统的数据字典2
概念结构设计2
通讯录数据库逻辑结构设计3
通讯录数据库实现3
3详细设计4
建立数据库4
进行数据库连接5
程序代码9
4总结15
参考文献16
1需求分析
设计通讯录系统的总体目标:
利用所学的VC++和数据库系统的相关知识,设计出具有一定功能的通讯录系统。
在本次程序设计,我是在SQLsever中建立相应的表,然后应用ODBC将数据库与VC++链接起。
通讯录的基本功能如下:
(1)具有查找功能。
编写查找程序代码,用户根据自己需要,通过VC++功能界面查找所需内容。
(2)具有删除功能。
编写删除程序代码,通过VC++功能界面删除数据库中的记录。
(3)具有编辑功能。
编写相应编辑程序代码,实现对数据库中的记录的修改,达到用户目的。
(4)具有插入功能。
编写相应插入程序代码,实现对数据库进行插入记录功能。
2总体设计
数据库设计
通讯录系统的数据字典
由于本次课程设计的内容是设计通讯录系统,根据用户需求,建立以下联系人基本信息表,如下表所示。
表2-1联系人基本信息
属性
字段含义
字段类型
是否为空
Sname
姓名
nchar(10)
NO
Ssex
性别
nchar
(2)
NO
Sage
年龄
int
NO
Sphone
手机号码
nchar(10)
NO(主键)
Splace
家庭住址
nchar(10)
NO
概念结构设计
通过需求分析构造基本表,确定了通讯录的数据项。
然后将需求分析得到的用户需求抽象为信息结构,画出E-R图。
如下图所示:
图2-1联系人基本信息
通讯录数据库逻辑结构设计
构造通讯录系统模块的逻辑结构如图2-2下:
联系人(姓名,性别,年龄,手机号码,家庭住址)
图2-2联系人属性
通讯录数据库实现
根据上述我先在SQLsever中建立好数据库,然后以VC++()为开发平台,利用ODBC将数据库与VC++链接起来,在VC++MFC中设计功能界面,通过功能键对数据库进行查找,删除,编辑,添加操作。
实现通讯录系统的基本操作,满足用户的基本要求。
3详细设计
建立数据库
在本次课程设计,我应用SQLserver2005软件建立通讯录数据库,通讯录数据库包含联系人基本信息表。
首先先建立数据库,如下图3-1所示。
图3-1在SQLserver2005中建立通讯录数据库
接着在此通讯录数据库上建立一个联系人信息基本表,其表为people表,并录入信息。
具体操作如下图所示。
图3-2在SQLserver2005中用CREATE建立联系人基本信息表
图3-3在数据库中形成people基本表
图3-4正在将联系人“三三”录入数据库。
图3-5数据库中存有的联系人
进行数据库连接
建好数据库后,用ODBC进行链接数据库。
在控制面板里找管理工具,双击管理工具,在里面找数据源(ODBC)进行数据库的链接,如下图3-6所示。
图3-6采用ODBC进行与数据库链接
然后在VC++平台上设计功能界面,编写相应的程序。
在这次课程设计中我选用MFC基本对话框来完成相应功能。
具体步骤如图所示。
1.在VC++平台上,选用MFC基本对话框,建好基本对话框,要手动新建一个类,它是由CRecordSet派生而来。
CRecordset类封装了大量操作数据库的函数,支持查询,存取,更新数据库操作。
因此要新建一个继承CRecordset的类。
如图3-7所示。
图3-7新建继承CRecordSet的类
2.设计功能界面,进行功能测试,如图3-8,图3-9,图3-10,图3-11,图3-12所示。
图3-8设计登陆主界面
图3-9含有添加,编辑,删除,查找基本操作的功能主界面
图3-10删除功能主界面
图3-11进行联系人信息修改操作
图3-12对通讯录系统的记录进行查询
程序代码
初始化,将数据库打开的代码:
BOOLCSongDlg:
:
OnInitDialog(){
CDialog:
:
OnInitDialog();
p->Open(AFX_DB_USE_DEFAULT_TYPE);
CBitmaphbmp;
HBITMAPhbitmap;
CStatic*pStaic;
pStaic=(CStatic*)GetDlgItem(IDC_BITMAP);
hbitmap=(HBITMAP):
:
LoadImage(:
:
AfxGetInstanceHandle(),p->m_Stujing,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
(hbitmap);
BITMAPbm;
(&bm);
CDCdcMem;
(GetDC());
CBitmap*poldBitmap=(CBitmap*)(&hbmp);
CRectlRect;
pStaic->GetClientRect(&lRect);
();
pStaic->GetDC()->StretchBlt,,(),(),
&dcMem,0,0,,,SRCCOPY);
(&poldBitmap);
m_name=p->m_Sname;
m_age=p->m_Sage;
m_place=p->m_Splace;
m_phone=p->m_Sphone;
m_sex=p->m_Ssex;
UpdateData(FALSE);
returnTRUE;}
此处是查找功能的代码:
voidCYu:
:
OnButton1(){
CStrings1;
CLinDlgn;
UpdateData(TRUE);
("select*frompeoplewhereSphone='%s'",m_phon);
m_p->Open(AFX_DB_USE_DEFAULT_TYPE,s1);
=m_p->m_Sage;
=m_p->m_Splace;
=m_p->m_Sphone;
=m_p->m_Ssex;
=m_p->m_Sname;
UpdateData(FALSE);
();}
此处是删除数据库记录功能的代码:
voidCSongDlg:
:
OnDelete(){
if(AfxMessageBox("真的要删除吗",MB_OKCANCEL)==IDCANCEL)
return;
else{
if(p->IsEOF()){
AfxMessageBox("没有相关数据!
");}
else
{
p->Delete();
if(p->IsEOF())
p->MoveLast();
else
p->MoveNext();
p->Requery();
UpdateData(false);
AfxMessageBox("删除成功!
");}}}
此处是修改数据库记录的代码:
voidCSongDlg:
:
OnEdit(){
CLinDlgd;
=p->m_Sage;
=p->m_Splace;
=p->m_Sphone;
=p->m_Ssex;
=p->m_Sname;
UpdateData(FALSE);
if()==IDOK){
UpdateData(true);
p->Edit();
p->m_Splace=;
p->m_Sphone=;
p->m_Ssex=;
p->m_Sname=;
p->m_Sage=;
p->Update();
p->Requery();
AfxMessageBox("已经修改数据成功!
");
UpdateData(FALSE);}}
此处添加记录到数据库的代码:
voidCSongDlg:
:
OnAdd(){
据库.王志海等译[B].北京:
机械工业出版社,2000
[2]ImhoffC等.数据库设计.于戈等译[B].北京:
机械工业出版社,2003
[3]温秀梅,丁学钧.C++语言程序设计教程与实验[M].北京清华大学出版社,2004
[4]严华峰等.VisualC++课程设计案例精编[P].北京:
中国水利水电出版社,2004
[5]王珊,萨师煊.数据库系统概述(第四版)[M].北京:
高等教育出版社出版,2006
精心搜集整理,只为你的需要