通讯录实验报告.docx

上传人:b****1 文档编号:1590073 上传时间:2022-10-23 格式:DOCX 页数:18 大小:764.11KB
下载 相关 举报
通讯录实验报告.docx_第1页
第1页 / 共18页
通讯录实验报告.docx_第2页
第2页 / 共18页
通讯录实验报告.docx_第3页
第3页 / 共18页
通讯录实验报告.docx_第4页
第4页 / 共18页
通讯录实验报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

通讯录实验报告.docx

《通讯录实验报告.docx》由会员分享,可在线阅读,更多相关《通讯录实验报告.docx(18页珍藏版)》请在冰豆网上搜索。

通讯录实验报告.docx

通讯录实验报告

安徽理工大学

数据库系统概论

课程设计说明书

 

题目:

通讯录系统

 

院系:

计算机科学与工程学院

专业班级:

电子信息技术及仪器11-1班

学号:

2011302807

学生姓名:

周松林

指导教师:

胡胜利

 

2013年06月10日

安徽理工大学课程设计(论文)任务书

计算机科学与工程学院

学号

2011302807

学生姓名

周松林

专业(班级)

电子信息技术及仪器11-1班

设计题目

通讯录系统

系统平台:

Windows7

开发工具:

VC++6.0

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日

学生姓名:

周松林学号:

2011302807专业班级:

电子仪器11-1班

课程设计题目:

通讯录系统

指导教师评语:

 

 

成绩:

 

指导教师:

年月日

安徽理工大学课程设计(论文)成绩评定表

1需求分析1

2总体设计2

2.1数据库设计2

2.1.1通讯录系统的数据字典2

2.1.2概念结构设计2

2.1.3通讯录数据库逻辑结构设计3

2.2通讯录数据库实现3

3详细设计4

3.1建立数据库4

3.2进行数据库连接5

3.3程序代码9

4总结15

参考文献16

 

1需求分析

设计通讯录系统的总体目标:

利用所学的VC++和数据库系统的相关知识,设计出具有一定功能的通讯录系统。

在本次程序设计,我是在SQLsever中建立相应的表,然后应用ODBC将数据库与VC++链接起。

通讯录的基本功能如下:

(1)具有查找功能。

编写查找程序代码,用户根据自己需要,通过VC++功能界面查找所需内容。

(2)具有删除功能。

编写删除程序代码,通过VC++功能界面删除数据库中的记录。

(3)具有编辑功能。

编写相应编辑程序代码,实现对数据库中的记录的修改,达到用户目的。

(4)具有插入功能。

编写相应插入程序代码,实现对数据库进行插入记录功能。

 

2总体设计

2.1数据库设计

2.1.1通讯录系统的数据字典

由于本次课程设计的内容是设计通讯录系统,根据用户需求,建立以下联系人基本信息表,如下表所示。

表2-1联系人基本信息

属性

字段含义

字段类型

是否为空

Sname

姓名

nchar(10)

NO

Ssex

性别

nchar

(2)

NO

Sage

年龄

int

NO

Sphone

手机号码

nchar(10)

NO(主键)

Splace

家庭住址

nchar(10)

NO

 

 

2.1.2概念结构设计

通过需求分析构造基本表,确定了通讯录的数据项。

然后将需求分析得到的用户需求抽象为信息结构,画出E-R图。

如下图所示:

图2-1联系人基本信息

2.1.3通讯录数据库逻辑结构设计

构造通讯录系统模块的逻辑结构如图2-2下:

联系人(姓名,性别,年龄,手机号码,家庭住址)

图2-2联系人属性

2.2通讯录数据库实现

根据上述我先在SQLsever中建立好数据库,然后以VC++(6.0)为开发平台,利用ODBC将数据库与VC++链接起来,在VC++(6.0)MFC中设计功能界面,通过功能键对数据库进行查找,删除,编辑,添加操作。

实现通讯录系统的基本操作,满足用户的基本要求。

 

3详细设计

3.1建立数据库

在本次课程设计,我应用SQLserver2005软件建立通讯录数据库,通讯录数据库包含联系人基本信息表。

首先先建立数据库,如下图3-1所示。

图3-1在SQLserver2005中建立通讯录数据库

接着在此通讯录数据库上建立一个联系人信息基本表,其表为people表,并录入信息。

具体操作如下图所示。

图3-2在SQLserver2005中用CREATE建立联系人基本信息表

图3-3在数据库中形成people基本表

图3-4正在将联系人“三三”录入数据库。

图3-5数据库中存有的联系人

3.2进行数据库连接

建好数据库后,用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对通讯录系统的记录进行查询

3.3程序代码

初始化,将数据库打开的代码:

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);

hbmp.Attach(hbitmap);

BITMAPbm;

hbmp.GetBitmap(&bm);

CDCdcMem;

dcMem.CreateCompatibleDC(GetDC());

CBitmap*poldBitmap=(CBitmap*)dcMem.SelectObject(&hbmp);

CRectlRect;

pStaic->GetClientRect(&lRect);

lRect.NormalizeRect();

pStaic->GetDC()->StretchBlt(lRect.left,lRect.top,lRect.Width(),lRect.Height(),

&dcMem,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);

dcMem.SelectObject(&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);

s1.Format("select*frompeoplewhereSphone='%s'",m_phon);

m_p->Open(AFX_DB_USE_DEFAULT_TYPE,s1);

n.m_age=m_p->m_Sage;

n.m_place=m_p->m_Splace;

n.m_phone=m_p->m_Sphone;

n.m_sex=m_p->m_Ssex;

n.m_name=m_p->m_Sname;

UpdateData(FALSE);

n.DoModal();}

此处是删除数据库记录功能的代码:

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;

d.m_age=p->m_Sage;

d.m_place=p->m_Splace;

d.m_phone=p->m_Sphone;

d.m_sex=p->m_Ssex;

d.m_name=p->m_Sname;

UpdateData(FALSE);

if(d.DoModal()==IDOK){

UpdateData(true);

p->Edit();

p->m_Splace=d.m_place;

p->m_Sphone=d.m_phone;

p->m_Ssex=d.m_sex;

p->m_Sname=d.m_name;

p->m_Sage=d.m_age;

p->Update();

p->Requery();

AfxMessageBox("已经修改数据成功!

");

UpdateData(FALSE);}}

此处添加记录到数据库的代码:

voidCSongDlg:

:

OnAdd(){

//TODO:

Addyourcontrolnotificationhandlercodehere

CLinDlgh;

if(h.Do

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1