已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
青 岛 农 业 大 学 本本 科科 生生 课课 程程 论论 文文 论 文 题 目 数据库系统概论课程设计 学生专业班级 计算机科学与技术 2007 级 2 班 学生姓名 学号 邵强 20071945 指 导 教 师 姜秋燕 完 成 时 间 2010 10 19 2010 年 10 月 20 日 课课 程程 论论 文文 任任 务务 书书 学生姓名 邵强 指导教师 姜秋燕 初文 科 论文题目 图书馆信息管理系统 论文内容 需明确列出研究的问题 用所学的程序设计 数据 库开发技术开发一个图书馆信息管理系统 工具选择 前台服务使 用 VC6 0 解决界面显示及用户交互方面的问题 后台数据处理系统 采用 access 数据库 设计数据库 将图书馆信息的存储放入用 access 创建的数据库中 设计图书馆信息管理系统各种信息的存储 的表 确立主键及各表间的关联 采用 ODBC 数据访问技术 建立前 台程序与后台数据库服务的连接 资料 数据 技术水平等方面的要求 开发这个系统 需要掌握 图书信息管理的信息处理方式 可以根据平时生活和借鉴其他图书 管理系统程序 需要了解数据库设计的基本方法 VC 0 数据库编 程及 access 数据库的基本使用技术 发出任务书日期 2010 10 11 完成论文日期 2010 10 19 教研室意见 签字 院长意见 签字 注 此表装订在课程论文之前 一 一 系统概述系统概述 现某图书馆需要管理其各种人员和图书信息 希望实现办公的信息化 通过建立一个 图书管理系统来管理图书 其完成的功能如下 1 可以实现图书的登记 借阅管理 2 可以实现对图书及读者的各种信息的查询 包括逐个浏览 以及对图书及读者信 息的增加 删除和编辑操作 系统运行环境为 VC6 0 二 需求分析二 需求分析 2 1 ER 图 读者 借阅 图书 卡号 姓名 性别 类别 单位 书号 书名 作者出版社 卡号书号 出借日期还书日期 M N 级别 摘要 价格 2 2 数据流图 分层 1 图书管理模块 登陆信息 事务 管理员 身份验证 事务分析 图书管理 D1 用户表 图书信息管理 添加 编辑 查询 删除 图书信息 图书信息 图书信息 图书信息 图书信息 图书信息 图书信息 图书信息 D2 书籍信息 2 读者管理模块 登陆信息 事务 管理员 身份验证 事务分析 读者管理 D1 用户表 读者信息管理 添加 编辑 查询 删除 读者信息 读者信息 读者信息 读者信息 读者信息 读者信息 读者信息 读者信息 D3 读者信息 3 图书借阅管理模块 登陆信息 事务 管理员 身份验证 事务分析 图书借阅管理 D1 用户表 图书借阅信息管理 添加 编辑 查询 删除 图书借阅信息 图书借阅信息 图书借阅信息 图书借阅信息 图书借阅信息 图书借阅信息 图书借阅信息 图书借阅信息 D4 图书借阅信息 2 3 数据字典 表 用户记录 字段名类型说明 用户名字符串主键 密码字符串 2 4 状态转换图 表 图书 字段名类型说明 书号字符串主键 书名字符串 作者字符串 价格字符串 出版社字符串 摘要字符串 表 读者 字段名类型说明 卡号字符串主键 姓名字符串 性别字符串 单位字符串 类型字符串 级别字符串 表 借阅 字段名类型说明 卡号字符串外键 书号字符串外键 借书时间时间 还书时间时间 身份验证 do 输入用户 名和密码 取消 名或密码 错误用户 名或密码 正确用户 图书管理系统 do 选择功能 选择图 书管理 图书管理 选择读 者管理 借阅管理 选择图书 读者管理图书借阅管理 关于 do 对图书 信息进行 操作 do 对读者 信息进行 操作 do 对图书借 阅情况进行 操作 版本 完成操作 退出 三 三 系统设计系统设计 3 1 概要设计 图书管理 1 0读者管理 2 0图书借阅管理 3 0 添加图书记录 查询图书信息 图书管理系统 退出 4 0 删除图书记录 查询读者信息 添加读者信息 删除读者信息 添加借阅信息 查询借阅信息 更改用户信息 图书管理系统 HIPO 图 删除借阅信息 3 2 详细设计 1 算法设计 在此只给出读者信息管理的算法设计 添加读者信息 流程图 开始 点击 添加记录 输入图书信息 添加 不存在 返回 选择 添加 或 返回 向数据库中 添加记录 MessageBox 提 示记录已存在 结束 存在 查询数据库看 记录是否存在 返回 2 数据库设计 这里的数据库采用 Access 用 ODBC 作为连接数据对象 1 建立 Access 数据库 2 启动 Access 建立一个空的数据库 library db mdb 如图 8 所示 使用程序设计器建立系统需要的表格如下 图书信息表 读者信息表 借阅信息表 2 设置 ODBC VC 的 CDatabase 对象是通过 ODBC 来访问数据库 所以还要建立 ODBC 数据引擎接口 打开控制面板中的 管理工具 数据源 ODBC 选择 Microsoft Access Driver mdb 单击 完成 按钮 在 数据源名 文本框中添加一个名字 单击 确定 按钮完成系统默认连接设置 然后在 ODBC 话框中单击 确定 按钮完成 ODBC 设置 3 界面设计 1 创建主窗体 主窗体代码 DlgMain cpp implementation file include stdafx h include SHQ h include DlgMain h ifdef DEBUG define new DEBUG NEW undef THIS FILE static char THIS FILE FILE endif CDlgMain dialog CDlgMain CDlgMain CWnd pParent NULL CDialog CDlgMain IDD pParent AFX DATA INIT CDlgMain NOTE the ClassWizard will add member initialization here AFX DATA INIT void CDlgMain DoDataExchange CDataExchange pDX CDialog DoDataExchange pDX AFX DATA MAP CDlgMain NOTE the ClassWizard will add DDX and DDV calls here AFX DATA MAP BEGIN MESSAGE MAP CDlgMain CDialog AFX MSG MAP CDlgMain ON BN CLICKED IDC BOOK OnBook ON BN CLICKED IDC READER OnReader ON BN CLICKED IDC BORROW OnBorrow ON BN CLICKED IDC BORR OnBorr ON BN CLICKED IDC RETURN OnReturn ON BN CLICKED IDC RESET USER OnResetUser ON BN CLICKED IDCANCLE OnCancle AFX MSG MAP END MESSAGE MAP CDlgMain message handlers void CDlgMain OnBook TODO Add your control notification handler code here m database Close CDlgBook dlg dlg m database Open T SHQ dlg DoModal dlg m database Close m database Open SHQ void CDlgMain OnReader TODO Add your control notification handler code here m database Close CDlgReader dlg dlg m database Open SHQ dlg DoModal dlg m database Close m database Open SHQ void CDlgMain OnBorrow TODO Add your control notification handler code here m database Close CDlgBorrow dlg dlg m database Open SHQ dlg DoModal dlg m database Close m database Open SHQ void CDlgMain OnBorr TODO Add your control notification handler code here m database Close CDlgBorrowAdd dlg dlg m database Open SHQ dlg mode 0 dlg DoModal dlg m database Close m database Open SHQ void CDlgMain OnReturn TODO Add your control notification handler code here m database Close CDlgReturn dlg dlg m database Open SHQ dlg DoModal dlg m database Close m database Open SHQ void CDlgMain OnResetUser TODO Add your control notification handler code here m database Close CDlgReset dlg dlg m database Open SHQ dlg m strName m strName dlg DoModal m strName dlg m strName dlg m database Close m database Open SHQ void CDlgMain OnCancle TODO Add your control notification handler code here CDialog OnCancel 2 创建各子窗体 DlgBook cpp implementation file include stdafx h include SHQ h include DlgBook h include dlgsearch h ifdef DEBUG define new DEBUG NEW undef THIS FILE static char THIS FILE FILE endif CDlgBook dialog CDlgBook CDlgBook CWnd pParent NULL CDialog CDlgBook IDD pParent AFX DATA INIT CDlgBook m strSearch T AFX DATA INIT void CDlgBook DoDataExchange CDataExchange pDX CDialog DoDataExchange pDX AFX DATA MAP CDlgBook DDX Control pDX IDC COMBO COL m ComboBox DDX Control pDX IDC LIST m ListCtrl DDX Text pDX IDC STR m strSearch AFX DATA MAP BEGIN MESSAGE MAP CDlgBook CDialog AFX MSG MAP CDlgBook ON BN CLICKED IDC ADD OnAdd ON BN CLICKED IDC DELETE OnDelete ON BN CLICKED IDC SEARCH OnSearch ON NOTIFY NM DBLCLK IDC LIST OnDblclkList ON NOTIFY NM CLICK IDC LIST OnClickList AFX MSG MAP END MESSAGE MAP CDlgBook message handlers BOOL CDlgBook OnInitDialog CDialog OnInitDialog TODO Add extra initialization here static char strHead 书号 书名 作者 价格 出版社 摘要 RECT rect m ListCtrl GetWindowRect for int i 0 i 6 i m ListCtrl InsertColumn i strHead i m ListCtrl SetColumnWidth i rect right rect left 6 3 Refresh return TRUE return TRUE unless you set the focus to a control EXCEPTION OCX Property Pages should return FALSE void CDlgBook Refresh CBookSet m BookSet CString strSQL m ListCtrl DeleteAllItems strSQL Format SELECT FROM 图书 order by 书号 m BookSet Open AFX DB USE DEFAULT TYPE strSQL CRecordset skipDeletedRe cords if m BookSet GetRecordCount 0 m BookSet MoveFirst int temp 0 while m BookSet IsEOF CString str m ListCtrl InsertItem temp str for int i 0 i 6 i m BookSet GetFieldValue i str m ListCtrl SetItemText temp i str m BookSet MoveNext temp m BookSet Close void CDlgBook OnAdd TODO Add your control notification handler code here m database Close CDlgBookAdd dlg dlg mode 0 dlg m database Open SHQ dlg DoModal Refresh dlg m database Close m database Open SHQ 下边这两个函数利用控制表格 void CDlgBook OnDelete TODO Add your control notification handler code here CString strSQL strText char str 10 UpdateData TRUE int index m ComboBox GetCurSel if m strSearch IsEmpty AfxMessageBox 请输入删除信息 return switch index case 0 strSQL Format select from 图书 where 书号 s m strSearch break case 1 strSQL Format select from 图书 where 书名 s m strSearch break case 2 strSQL Format select from 图书 where 作者 s m strSearch break case 3 strSQL Format select from 图书 where 价格 s m strSearch break case 4 strSQL Format select from 图书 where 出版社 s m strSearch break case 5 strSQL Format select from 图书 where s m strSearch strText break default AfxMessageBox 请选择要查询的列 m strSearch UpdateData 0 return m BookSet Open AFX DB USE DEFAULT TYPE strSQL if m BookSet GetRecordCount 0 AfxMessageBox 没有符合条件的纪录 m BookSet Close return else m BookSet Requery while m BookSet IsEOF strText Format 确定删除记录 n n 书号 s 的书籍信息 m BookSet m strPress if AfxMessageBox strText MB OKCANCEL IDOK m BookSet Delete m BookSet MoveNext m strSearch UpdateData FALSE m BookSet Close AfxMessageBox 符合条件的纪录已经被删除 Refresh void CDlgBook OnSearch TODO Add your control notification handler code here CString strText strSQL UpdateData TRUE int index m ComboBox GetCurSel if m strSearch IsEmpty AfxMessageBox 请输入查询信息 return switch index case 0 strSQL Format select from 图书 where 书号 s m strSearch break case 1 strSQL Format select from 图书 where 书名 s m strSearch break case 2 strSQL Format select from 图书 where 作者 s m strSearch break case 3 strSQL Format select from 图书 where 价格 s m strSearch break case 4 strSQL Format select from 图书 where 出版社 s m strSearch break default AfxMessageBox 请选择要查询的列 m strSearch UpdateData 0 return m BookSet Open AFX DB USE DEFAULT TYPE strSQL if m BookSet GetRecordCount 0 AfxMessageBox 没有符合条件的纪录 m BookSet Close return else m BookSet MoveFirst m strSearch UpdateData FALSE m database Close CDlgSearch dlg dlg m database Open SHQ dlg DoModal dlg m database Close m database Open SHQ m BookSet Close void CDlgBook OnDblclkList NMHDR pNMHDR LRESULT pResult TODO Add your control notification handler code here char buff 11 m ListCtrl GetItemText m ListCtrl GetSelectionMark 0 buff 10 AfxMessageBox buff m database Close CDlgBookAdd dlg dlg mode 1 dlg m strKeyEdit buff dlg m database Open SHQ dlg DoModal dlg m strKeyEdit dlg m database Close m database Open SHQ Refresh pResult 0 void CDlgBook OnClickList NMHDR pNMHDR LRESULT pResult TODO Add your control notification handler code here m ComboBox SetCurSel 0 char buff 11 m ListCtrl GetItemText m ListCtrl GetSelectionMark 0 buff 10 m strSearch buff UpdateData 0 pResult 0 添加修改图书信息模块 代码 DlgBookAdd cpp implementation file include stdafx h include SHQ h include DlgBookAdd h ifdef DEBUG define new DEBUG NEW undef THIS FILE static char THIS FILE FILE endif CDlgBookAdd dialog CDlgBookAdd CDlgBookAdd CWnd pParent NULL CDialog CDlgBookAdd IDD pParent AFX DATA INIT CDlgBookAdd m strName T m strNum T m strPress T m strPrice T m strAuthor T m strSummary T AFX DATA INIT void CDlgBookAdd DoDataExchange CDataExchange pDX CDialog DoDataExchange pDX AFX DATA MAP CDlgBookAdd DDX Control pDX IDC ADD m ctrl add DDX Control pDX IDC EDIT m ctrl edit DDX Text pDX IDC NAME m strName DDX Text pDX IDC NUM m strNum DDX Text pDX IDC PRESS m strPress DDX Text pDX IDC PRICE m strPrice DDX Text pDX IDC AUTHOR m strAuthor DDX Text pDX IDC SUMMARY m strSummary AFX DATA MAP BEGIN MESSAGE MAP CDlgBookAdd CDialog AFX MSG MAP CDlgBookAdd ON BN CLICKED IDC ADD OnAdd ON BN CLICKED IDC EDIT OnEdit AFX MSG MAP END MESSAGE MAP CDlgBookAdd message handlers void CDlgBookAdd OnCancel TODO Add extra cleanup here CDialog OnCancel void CDlgBookAdd OnAdd TODO Add your control notification handler code here CString strSQL UpdateData TRUE if m strNum IsEmpty AfxMessageBox 书号不能为空 return strSQL Format select from 图书 where 书号 s m strNum m BookSet Open AFX DB USE DEFAULT TYPE strSQL if m BookSet GetRecordCount 0 AfxMessageBox 该数目已被录入 m BookSet Close return else m BookSet AddNew m BookSet m strNum m strNum m BookSet m strName m strName m BookSet m strAuthor m strAuthor m BookSet m strPrice m strPrice m BookSet m strSummary m strSummary m BookSet m strPress m strPress CString str str m BookSet m strNum AfxMessageBox str m BookSet Update m BookSet Requery m BookSet Close m strNum m strName m strAuthor m strPrice m strSummary m strPress UpdateData 0 BOOL CDlgBookAdd OnInitDialog CDialog OnInitDialog TODO Add extra initialization here if mode 1 m ctrl add EnableWindow 0 CString strSQL CBookSet set strSQL Format select from 图书 where 书号 s m strKeyEdit set Open AFX DB USE DEFAULT TYPE strSQL CString str int temp 0 set GetFieldValue temp str m strNum str set GetFieldValue 1 str m strName str set GetFieldValue 2 str m strAuthor str set GetFieldValue 3 str m strPrice str set GetFieldValue 4 str m strPr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年宁夏体育职业学院单招职业适应性考试题库含答案详解(轻巧夺冠)
- 2026年安徽审计职业学院单招综合素质考试题库及答案详解(典优)
- 2026年安庆医药高等专科学校单招职业适应性考试题库附参考答案详解(满分必刷)
- 2026年宁夏职业技术学院单招职业技能考试题库附答案详解(夺分金卷)
- 2026年天津机电职业技术学院单招职业技能测试题库附答案详解(巩固)
- 2026年安徽卫生健康职业学院单招职业适应性测试题库附答案详解(夺分金卷)
- 2026年宁夏葡萄酒与防沙治沙职业技术学院单招职业适应性测试题库附答案详解(培优)
- 2026年塔城职业技术学院单招职业适应性测试题库带答案详解(研优卷)
- 2026年天津铁道职业技术学院单招职业倾向性测试题库及1套完整答案详解
- 2026年安徽工商职业学院单招职业倾向性考试题库参考答案详解
- 2026年潍坊环境工程职业学院单招综合素质考试必刷测试卷及答案1套
- 2025年硫氰酸红霉素行业分析报告及未来发展趋势预测
- 医院感染病例判定标准原则(2025年版)解读
- 【新教材】2025-2026学年人教版(2024)信息科技六年级全一册教案(教学设计)
- 2025党校入党积极分子发展对象考试题库(含答案)
- 加味八珍益母讲解
- 《老年人生活能力康复训练》健康养老专业全套教学课件
- 高中生物教研组年度工作总结
- 电力安全安规培训课件
- 挂靠合作合同协议书范本
- 暑假培优练:平抛运动(学生版)-2025高一物理暑假专项提升(人教版)
评论
0/150
提交评论