可视化编程综合作业数据库编程设计_第1页
可视化编程综合作业数据库编程设计_第2页
可视化编程综合作业数据库编程设计_第3页
可视化编程综合作业数据库编程设计_第4页
可视化编程综合作业数据库编程设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

补综合设计作业二数据库编程设计一系统概述现某图书馆需要管理其各种人员和图书信息,希望实现办公的信息化,通过建立一个图书管理系统来管理图书。其完成的功能如下1可以实现图书的登记、借阅管理。2可以实现对图书及读者的各种信息的查询,包括逐个浏览,以及对图书及读者信息的增加、删除和编辑操作。系统运行环境为VC60二需求分析21ER图读者借阅图书卡号姓名性别类别单位书号书名作者出版社卡号书号出借日期还书日期MN级别摘要价格22数据流图(分层)1图书管理模块登陆信息事务管理员身份验证事务分析图书管理D1用户表图书信息管理添加编辑查询删除图书信息图书信息图书信息图书信息图书信息图书信息图书信息图书信息D2书籍信息2读者管理模块登陆信息事务管理员身份验证事务分析读者管理D1用户表读者信息管理添加编辑查询删除读者信息读者信息读者信息读者信息读者信息读者信息读者信息读者信息D3读者信息3图书借阅管理模块登陆信息事务管理员身份验证事务分析图书借阅管理D1用户表图书借阅信息管理添加编辑查询删除图书借阅信息图书借阅信息图书借阅信息图书借阅信息图书借阅信息图书借阅信息图书借阅信息图书借阅信息D4图书借阅信息23数据字典表图书字段名类型说明书号字符串主键书名字符串作者字符串价格字符串出版社字符串摘要字符串表读者字段名类型说明卡号字符串主键姓名字符串性别字符串单位字符串类型字符串级别字符串表用户记录字段名类型说明用户名字符串主键密码字符串24状态转换图身份验证DO/输入用户名和密码取消名或密码错误用户名或密码正确用户图书管理系统DO/选择功能选择图书管理图书管理选择读者管理借阅管理选择图书读者管理图书借阅管理关于DO/对图书信息进行操作DO/对读者信息进行操作DO/对图书借阅情况进行操作版本完成操作退出三系统设计31概要设计表借阅字段名类型说明卡号字符串外键书号字符串外键借书时间时间还书时间时间图书管理10读者管理20图书借阅管理30添加图书记录查询图书信息图书管理系统退出40删除图书记录查询读者信息添加读者信息删除读者信息添加借阅信息查询借阅信息更改用户信息图书管理系统HIPO图删除借阅信息32详细设计(1)算法设计在此只给出读者信息管理的算法设计添加读者信息(流程图)开始点击“添加记录”输入图书信息添加不存在返回选择“添加”或“返回”向数据库中添加记录MESSAGEBOX提示记录已存在结束存在查询数据库看记录是否存在(2)数据库设计这里的数据库采用ACCESS,用ODBC作为连接数据对象。返回1、建立ACCESS数据库2、启动ACCESS,建立一个空的数据库LIBRARY_DBMDB,如图8所示。使用程序设计器建立系统需要的表格如下。图书信息表读者信息表借阅信息表2、设置ODBCVC的CDATABASE对象是通过ODBC来访问数据库,所以还要建立ODBC数据引擎接口。打开控制面板中的“管理工具”“数据源”ODBC选择MICROSOFTACCESSDRIVERMDB,单击“完成”按钮在“数据源名”文本框中添加一个名字,单击“确定”按钮完成系统默认连接设置。然后在ODBC话框中单击“确定”按钮完成ODBC设置。(3)界面设计1、创建主窗体主窗体代码/DLGMAINCPPIMPLEMENTATIONFILE/INCLUDE“STDAFXH“INCLUDE“SHQH“INCLUDE“DLGMAINH“IFDEF_DEBUGDEFINENEWDEBUG_NEWUNDEFTHIS_FILESTATICCHARTHIS_FILE_FILE_ENDIF/CDLGMAINDIALOGCDLGMAINCDLGMAINCWNDPPARENT/NULL/CDIALOGCDLGMAINIDD,PPARENT/AFX_DATA_INITCDLGMAIN/NOTETHECLASSWIZARDWILLADDMEMBERINITIALIZATIONHERE/AFX_DATA_INITVOIDCDLGMAINDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGDODATAEXCHANGEPDX/AFX_DATA_MAPCDLGMAIN/NOTETHECLASSWIZARDWILLADDDDXANDDDVCALLSHERE/AFX_DATA_MAPBEGIN_MESSAGE_MAPCDLGMAIN,CDIALOG/AFX_MSG_MAPCDLGMAINON_BN_CLICKEDIDC_BOOK,ONBOOKON_BN_CLICKEDIDC_READER,ONREADERON_BN_CLICKEDIDC_BORROW,ONBORROWON_BN_CLICKEDIDC_BORR,ONBORRON_BN_CLICKEDIDC_RETURN,ONRETURNON_BN_CLICKEDIDC_RESET_USER,ONRESETUSERON_BN_CLICKEDIDCANCLE,ONCANCLE/AFX_MSG_MAPEND_MESSAGE_MAP/CDLGMAINMESSAGEHANDLERSVOIDCDLGMAINONBOOK/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREM_DATABASECLOSECDLGBOOKDLGDLGM_DATABASEOPEN_T“SHQ“DLGDOMODALDLGM_DATABASECLOSEM_DATABASEOPEN“SHQ“VOIDCDLGMAINONREADER/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREM_DATABASECLOSECDLGREADERDLGDLGM_DATABASEOPEN“SHQ“DLGDOMODALDLGM_DATABASECLOSEM_DATABASEOPEN“SHQ“VOIDCDLGMAINONBORROW/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREM_DATABASECLOSECDLGBORROWDLGDLGM_DATABASEOPEN“SHQ“DLGDOMODALDLGM_DATABASECLOSEM_DATABASEOPEN“SHQ“VOIDCDLGMAINONBORR/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREM_DATABASECLOSECDLGBORROWADDDLGDLGM_DATABASEOPEN“SHQ“DLGMODE0DLGDOMODALDLGM_DATABASECLOSEM_DATABASEOPEN“SHQ“VOIDCDLGMAINONRETURN/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREM_DATABASECLOSECDLGRETURNDLGDLGM_DATABASEOPEN“SHQ“DLGDOMODALDLGM_DATABASECLOSEM_DATABASEOPEN“SHQ“VOIDCDLGMAINONRESETUSER/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREM_DATABASECLOSECDLGRESETDLGDLGM_DATABASEOPEN“SHQ“DLGM_STRNAMEM_STRNAMEDLGDOMODALM_STRNAMEDLGM_STRNAMEDLGM_DATABASECLOSEM_DATABASEOPEN“SHQ“VOIDCDLGMAINONCANCLE/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERECDIALOGONCANCEL2、创建各子窗体/DLGBOOKCPPIMPLEMENTATIONFILE/INCLUDE“STDAFXH“INCLUDE“SHQH“INCLUDE“DLGBOOKH“INCLUDE“DLGSEARCHH“IFDEF_DEBUGDEFINENEWDEBUG_NEWUNDEFTHIS_FILESTATICCHARTHIS_FILE_FILE_ENDIF/CDLGBOOKDIALOGCDLGBOOKCDLGBOOKCWNDPPARENT/NULL/CDIALOGCDLGBOOKIDD,PPARENT/AFX_DATA_INITCDLGBOOKM_STRSEARCH_T“/AFX_DATA_INITVOIDCDLGBOOKDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGDODATAEXCHANGEPDX/AFX_DATA_MAPCDLGBOOKDDX_CONTROLPDX,IDC_COMBO_COL,M_COMBOBOXDDX_CONTROLPDX,IDC_LIST,M_LISTCTRLDDX_TEXTPDX,IDC_STR,M_STRSEARCH/AFX_DATA_MAPBEGIN_MESSAGE_MAPCDLGBOOK,CDIALOG/AFX_MSG_MAPCDLGBOOKON_BN_CLICKEDIDC_ADD,ONADDON_BN_CLICKEDIDC_DELETE,ONDELETEON_BN_CLICKEDIDC_SEARCH,ONSEARCHON_NOTIFYNM_DBLCLK,IDC_LIST,ONDBLCLKLISTON_NOTIFYNM_CLICK,IDC_LIST,ONCLICKLIST/AFX_MSG_MAPEND_MESSAGE_MAP/CDLGBOOKMESSAGEHANDLERSBOOLCDLGBOOKONINITDIALOGCDIALOGONINITDIALOG/TODOADDEXTRAINITIALIZATIONHERESTATICCHARSTRHEAD“书号“,“书名“,“作者“,“价格“,“出版社“,“摘要“RECTRECTM_LISTCTRLGETWINDOWRECTFORINTI0I6IM_LISTCTRLINSERTCOLUMNI,STRHEADIM_LISTCTRLSETCOLUMNWIDTHI,RECTRIGHTRECTLEFT/63REFRESHRETURNTRUE/RETURNTRUEUNLESSYOUSETTHEFOCUSTOACONTROL/EXCEPTIONOCXPROPERTYPAGESSHOULDRETURNFALSEVOIDCDLGBOOKREFRESHCBOOKSETM_BOOKSETCSTRINGSTRSQLM_LISTCTRLDELETEALLITEMSSTRSQLFORMAT“SELECTFROM图书ORDERBY书号“M_BOOKSETOPENAFX_DB_USE_DEFAULT_TYPE,STRSQL,CRECORDSETSKIPDELETEDRECORDSIFM_BOOKSETGETRECORDCOUNT0M_BOOKSETMOVEFIRSTINTTEMP0WHILEM_BOOKSETISEOFCSTRINGSTRM_LISTCTRLINSERTITEMTEMP,STRFORINTI0I6IM_BOOKSETGETFIELDVALUEI,STRM_LISTCTRLSETITEMTEXTTEMP,I,STRM_BOOKSETMOVENEXTTEMPM_BOOKSETCLOSEVOIDCDLGBOOKONADD/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREM_DATABASECLOSECDLGBOOKADDDLGDLGMODE0DLGM_DATABASEOPEN“SHQ“DLGDOMODALREFRESHDLGM_DATABASECLOSEM_DATABASEOPEN“SHQ“/下边这两个函数利用控制表格VOIDCDLGBOOKONDELETE/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERECSTRINGSTRSQL,STRTEXT/CHARSTR10UPDATEDATATRUEINTINDEXM_COMBOBOXGETCURSELIFM_STRSEARCHISEMPTYAFXMESSAGEBOX“请输入删除信息“RETURNSWITCHINDEXCASE0STRSQLFORMAT“SELECTFROM图书WHERE书号S“,M_STRSEARCHBREAKCASE1STRSQLFORMAT“SELECTFROM图书WHERE书名S“,M_STRSEARCHBREAKCASE2STRSQLFORMAT“SELECTFROM图书WHERE作者S“,M_STRSEARCHBREAKCASE3STRSQLFORMAT“SELECTFROM图书WHERE价格S“,M_STRSEARCHBREAKCASE4STRSQLFORMAT“SELECTFROM图书WHERE出版社S“,M_STRSEARCHBREAK/CASE5/STRSQLFORMAT“SELECTFROM图书WHERES“,M_STRSEARCH,STRTEXT/BREAKDEFAULTAFXMESSAGEBOX“请选择要查询的列“M_STRSEARCH“UPDATEDATA0RETURNM_BOOKSETOPENAFX_DB_USE_DEFAULT_TYPE,STRSQLIFM_BOOKSETGETRECORDCOUNT0AFXMESSAGEBOX“没有符合条件的纪录“M_BOOKSETCLOSERETURNELSEM_BOOKSETREQUERYWHILEM_BOOKSETISEOFSTRTEXTFORMAT“确定删除记录NN书号S的书籍信息“,M_BOOKSETM_STRPRESSIFAFXMESSAGEBOXSTRTEXT,MB_OKCANCELIDOKM_BOOKSETDELETEM_BOOKSETMOVENEXTM_STRSEARCH“UPDATEDATAFALSEM_BOOKSETCLOSEAFXMESSAGEBOX“符合条件的纪录已经被删除“REFRESHVOIDCDLGBOOKONSEARCH/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERECSTRINGSTRTEXT,STRSQLUPDATEDATATRUEINTINDEXM_COMBOBOXGETCURSELIFM_STRSEARCHISEMPTYAFXMESSAGEBOX“请输入查询信息“RETURNSWITCHINDEXCASE0STRSQLFORMAT“SELECTFROM图书WHERE书号S“,M_STRSEARCHBREAKCASE1STRSQLFORMAT“SELECTFROM图书WHERE书名S“,M_STRSEARCHBREAKCASE2STRSQLFORMAT“SELECTFROM图书WHERE作者S“,M_STRSEARCHBREAKCASE3STRSQLFORMAT“SELECTFROM图书WHERE价格S“,M_STRSEARCHBREAKCASE4STRSQLFORMAT“SELECTFROM图书WHERE出版社S“,M_STRSEARCHBREAKDEFAULTAFXMESSAGEBOX“请选择要查询的列“M_STRSEARCH“UPDATEDATA0RETURNM_BOOKSETOPENAFX_DB_USE_DEFAULT_TYPE,STRSQLIFM_BOOKSETGETRECORDCOUNT0AFXMESSAGEBOX“没有符合条件的纪录“M_BOOKSETCLOSERETURNELSEM_BOOKSETMOVEFIRSTM_STRSEARCH“UPDATEDATAFALSEM_DATABASECLOSECDLGSEARCHDLGDLGM_DATABASEOPEN“SHQ“DLGDOMODALDLGM_DATABASECLOSEM_DATABASEOPEN“SHQ“M_BOOKSETCLOSEVOIDCDLGBOOKONDBLCLKLISTNMHDRPNMHDR,LRESULTPRESULT/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERECHARBUFF11M_LISTCTRLGETITEMTEXTM_LISTCTRLGETSELECTIONMARK,0,BUFF,10/AFXMESSAGEBOXBUFFM_DATABASECLOSECDLGBOOKADDDLGDLGMODE1DLGM_STRKEYEDITBUFFDLGM_DATABASEOPEN“SHQ“DLGDOMODALDLGM_STRKEYEDIT“DLGM_DATABASECLOSEM_DATABASEOPEN“SHQ“REFRESHPRESULT0VOIDCDLGBOOKONCLICKLISTNMHDRPNMHDR,LRESULTPRESULT/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREM_COMBOBOXSETCURSEL0CHARBUFF11M_LISTCTRLGETITEMTEXTM_LISTCTRLGETSELECTIONMARK,0,BUFF,10M_STRSEARCHBUFFUPDATEDATA0PRESULT0添加修改图书信息模块代码/DLGBOOKADDCPPIMPLEMENTATIONFILEINCLUDE“STDAFXH“INCLUDE“SHQH“INCLUDE“DLGBOOKADDH“IFDEF_DEBUGDEFINENEWDEBUG_NEWUNDEFTHIS_FILESTATICCHARTHIS_FILE_FILE_ENDIF/CDLGBOOKADDDIALOGCDLGBOOKADDCDLGBOOKADDCWNDPPARENT/NULL/CDIALOGCDLGBOOKADDIDD,PPARENT/AFX_DATA_INITCDLGBOOKADDM_STRNAME_T“M_STRNUM_T“M_STRPRESS_T“M_STRPRICE_T“M_STRAUTHOR_T“M_STRSUMMARY_T“/AFX_DATA_INITVOIDCDLGBOOKADDDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGDODATAEXCHANGEPDX/AFX_DATA_MAPCDLGBOOKADDDDX_CONTROLPDX,IDC_ADD,M_CTRL_ADDDDX_CONTROLPDX,IDC_EDIT,M_CTRL_EDITDDX_TEXTPDX,IDC_NAME,M_STRNAMEDDX_TEXTPDX,IDC_NUM,M_STRNUMDDX_TEXTPDX,IDC_PRESS,M_STRPRESSDDX_TEXTPDX,IDC_PRICE,M_STRPRICEDDX_TEXTPDX,IDC_AUTHOR,M_STRAUTHORDDX_TEXTPDX,IDC_SUMMARY,M_STRSUMMARY/AFX_DATA_MAPBEGIN_MESSAGE_MAPCDLGBOOKADD,CDIALOG/AFX_MSG_MAPCDLGBOOKADDON_BN_CLICKEDIDC_ADD,ONADDON_BN_CLICKEDIDC_EDIT,ONEDIT/AFX_MSG_MAPEND_MESSAGE_MAP/CDLGBOOKADDMESSAGEHANDLERSVOIDCDLGBOOKADDONCANCEL/TODOADDEXTRACLEANUPHERECDIALOGONCANCELVOIDCDLGBOOKADDONADD/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERECSTRINGSTRSQLUPDATEDATATRUEIFM_STRNUMISEMPTYAFXMESSAGEBOX“书号不能为空“RETURNSTRSQLFORMAT“SELECTFROM图书WHERE书号S“,M_STRNUMM_BOOKSETOPENAFX_DB_USE_DEFAULT_TYPE,STRSQLIFM_BOOKSETGETRECORDCOUNT0AFXMESSAGEBOX“该数目已被录入“M_BOOKSETCLOSERETURNELSEM_BOOKSETADDNEWM_BOOKSETM_STRNUMM_STRNUMM_BOOKSETM_STRNAMEM_STRNAMEM_BOOKSETM_STRAUTHORM_STRAUTHORM_BOOKSETM_STRPRICEM_STRPRICEM_BOOKSETM_STRSUMMARYM_STRSUMMARYM_BOOKSETM_STRPRESSM_STRPRESSCSTRINGSTRSTRM_BOOKSETM_STRNUMAFXMESSAGEBOXSTRM_BOOKSETUPDATEM_BOOKSETREQUERYM_BOOKSETCLOSEM_STRNUM“M_STRNAME“M_STRAUTHOR“M_STRPRICE“M_STRSUMMARY“M_STRPRESS“UPDATEDATA0BOOLCDLGBOOKADDONINITDIALOGCDIALOGONINITDIALOG/TODOADDEXTRAINITIALIZATIONHEREIFMODE1M_CTRL_ADDENABLEWINDOW0CSTRINGSTRSQLCBOOKSETSETSTRSQLFORMAT“SELECTFROM图书WHERE书号S“,M_STRKEYEDITSETOPENAFX_DB_USE_DEFAULT_TYPE,STRSQLCSTRINGSTRINTTEMP0SETGETFIELDVALUETEMP,STRM_STRNUMSTRSETGETFIELDVALUE1,STRM_STRN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论