数据库原理课程设计学生信息管理网站内容摘要:

remendNumber:存放客户的推荐购买数 表 books: sorts 表:存放图书的分类信息 sortID: 图书分类添加系统自动分配的图书分类号(主键) sortName:存放图书的分类名称 tag:标记值 表 sorts: 12 words 表:存放客户对图书的评价信息 wordID:存放评论的 ID 值,客户的评论存入数据库时系统自动分配的唯一的ID值(主键) wordContent:存放客户的评论信息 bookID:存放客户所评论的图书 ID 值 authorID:存放客户的 ID值 createTime:存放评论的发表时间 表 words: goods 表:存放客 户的订单信息 goodID:存放客户订单的 ID值,当订单创建时,系统自动分配(主键) userID:存放订单相关的客户信息 bookID:存放客户订购单图书的 ID 值 createTime:存放订单的创建时间 buyNumber::存放客户订购图书的数量 表 goods: 关系模式 系统中的实体有:管理员,书,订单,客户 关系模式如下: 13 管理员( userID, userName, password, realName, telephone, ) 客户( userID, userName, password, realName, telephone, ) 书( bookID, bookName, pub, author, price, sortID, intro) 订单( goodID, userID, bookID, createTime, buyNumber) 五 详细设计 该系统采用 VC++ MFC连接 SQL数据库的方式,使用图形用户界面,主要实现图书录入、图书销售等功能。 下面具体对各模块进行介绍。 登录模块及主界 面 在登录界面(如图 所示)中输入用户名和密码,登录成功后进入主界面。 登陆框流程图如图 所示,系统主界面如图 所示,单击某个按钮就能弹出某个功能的界面。 图 系统登录界面 14 图 15 图书录入模块 实现目标 添加图书信息,图书录入对话框的设计如图 所示。 “保存 ”按钮对应的方法为 RAddBookDlg::OnSave(),流程图如图。 图 图书录入对话框 16 图 RAddBookDlg::OnSave()方法的流程图 设计步骤 ( 1)向项目中添加一个新 Dialog 资源,资源 ID 为 IDD_ADDBOOK。 在IDD_YGTJK对话框资源中单击鼠标右键,执行弹出快捷菜单的 “Properties”菜单命令,打开 “Dialog Properties”对话框。 在 “Dialog Properties”对话框中选择 General选项卡,更改其 “Caption”文本框内容为 “图书信息录入 ”。 ( 2)从 Controls 面板上向 Dialog资源中添加所需控件,更改资源的属性,并为资源设置相对应的变量,如表。 表 图书录入 Dialog资源属性设置 代码分析 ( 1)打开 ClassWizard 窗口,添加在 OnInitDialog成员函数,向 17 OnInitDialog添加代码如下: BOOL RAddBookDlg::OnInitDialog() { } ( 2)当用户单击 “保存 “按钮时,实现添加图书功能,其响应代码如下: void RAddBookDlg::OnSave() { } // TODO: Add your control notification handler code here UpdateData(TRUE)。 if(!IsValidInput()) return。 CDialog::OnInitDialog()。 // TODO: Add extra initialization here GetBookGategory()。 return TRUE。 // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE if(IDYES != AfxMessageBox( 确定要保存吗 ?,MB_YESNO)) //放弃保存 return。 if(SaveData()) { } else AfxMessageBox( 保存失败 !)。 AfxMessageBox( 保存成功 !)。 // 保存后重置数据 m_bHasNewBook = true。 OnReset()。 GetDlgItem(IDC_BK_CATEGORY)SetFocus()。 18 ( 3)判断输入信息是否正确的函数是 IsValidInput(),其响应代码如下: bool RAddBookDlg::IsValidInput() { CString str = 0123456789。 if(() || (str) != 1) { AfxMessageBox(输入有误 !图书类型不能为空或包含数字。 )。 GetDlgItem(IDC_BK_CATEGORY)SetFocus()。 return false。 } if(()) { AfxMessageBox(输入有误 !书名不能为空。 )。 GetDlgItem(IDC_BK_NAME)SetFocus()。 return false。 } if(() || (str) != 1) { AfxMessageBox(输入 有误 !作者名称不能为空或包含数字。 )。 GetDlgItem(IDC_BK_AUTHOR)SetFocus()。 return false。 } if(()|| (str) != 1) { AfxMessageBox(输入有误 !出版社名称不能为空或包含数字。 )。 GetDlgItem(IDC_BK_PUBLISHER)SetFocus()。 return false。 } if(m_dPurchase = 0) 19 { AfxMessageBox(图书进价应为正值 !)。 GetDlgItem(IDC_BK_PURCHASE)SetFocus()。 return false。 } if(m_dPrice = 0 ) { AfxMessageBox(图书售价应为正值 !)。 GetDlgItem(IDC_BK_PRICE)SetFocus()。 return false。 }。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。