




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Access课程设计题 目 书店信息管理系统一. 题目二. 功能三. 设计四. 数据库的实现五. 数据模式六. 系统实施七. 参考文献八. 设计感想某书店信息管理系统一 题目:某书店信息管理系统二 功能:1通过用户登陆及身份验证确定用户对数据的操作权限。以系统管理员身份登陆时享有对所有数据查阅及进行任意操作的权限,以普通用户登陆时只享有查阅数据的权限,且数据内容的开放程度由管理员设定。2对管理员,会员,普通职员及图书资料档案的管理。3对书店经营期间的所有支出,收入已及盈亏情况进行记录。4对书店经营期间各个方面的监控及实时处理。包括供书商提供图书的价格是否合理,管理员及职员工作态度是否认真和是否出差错,顾客对书店经营的意见,哪些书销售情况好,哪些差,购买图书的数量种类,书店设施的磨损以及是否需要维修或者更换添加。三设计:1.用户要求1 会员档案 数据包括:会员证号、姓名、性别、出生日期、身份证号、单位、通讯地址、邮政编码、联系电话、办证日期、会员期限、照片、职业等。2 图书档案 数据包括:书号、书名、作者、出版单位、出版日期、版次、单价、内容提要、分类号、索书号、藏书册数、每册图书馆藏注册号、所在书库、入库日期等。3 检索系统 能根据书号、书名、作者、出版单位、内容提要关键字、分类号、索书号、每册图书馆藏注册号等进行查询。4 进书系统 输入书号后,能根据借书号判断该书进货时间,书库中是否还有该书可卖,是否需要再进货。5、卖书系统对一定时间段卖出去的书做出各种统计。2总体功能框图: 某书店数据库系统用户登陆及验证身份档案管理财务管理经营管理管理员档案普通职员档案会员顾客档案图书资料档案支出情况盈亏情况收入情况管理员工作情况职员工作情况图书收售情况书店设施磨损供书商情况3. 数据流:3.1档案管理子系统数据流图 顾客办理会员职员人事变动管理员图书资料库存变动档案3.2财务管理子系统数据流图收入情况支出情况处理盈亏及债务情况3.3经营管理子系统数据流图说明:1.收银员享有修改会员数据,销售记录数据,创建会员数据的操作权限。 2供货商包括图书供应商,家具供应商等书店可能涉及到的物品的供应 商,不限与某一种和某一个供货商。 3.采购,财务,主管部门由书店规模决定,可能仅仅是一个人,也可能是有组织有一定成员的独立部门。4. 业务范围:1 采购和出售各种图书,从中赢利,根据顾客需要调整购买图书的种类和数量。2 办理会员顾客,会员购书实行折扣,根据会员累计消费情况举行会员优惠活动,吸引顾客办理会员和会员消费。四. 数据库的实现1.1 建立数据库ST-COURSE2 各表的建立,如2.3物理结构的设计。3 录入数据2. 数据表的创建和设计 使用 Access 数据库管理系统建立应用系统,首先需要创建一个数据库。然后在该数据库中添加 所需的表、查询、窗体、报表、宏等对象。 3. 数据库的创建 首先,使用向导设计“书店管理系统”数据库,然后才进行表的设计。具体步骤如下: (1)启动Microsoft Access 2003 ,出现“Microsoft Access ”数据库设计界面。 (2 )单击工具栏上的新建按钮,在Access 2003 窗体的右边出现“新建文件”任务窗格。 (3 )在该任务窗格中选择项,系统弹出“模板”对话,单击“常用”选项卡,然后选择其中的模板。 (4 )单击“确定”按钮,这时出现要选择数据库的保存路径的对话框。在“文件名”右边的文本框里输入文件名为“书店管理系统”。 (5 )单击“创建”按钮,就进入数据库窗口。 至此,就创建了“书店管理系统”数据库。4.E-R图管理管理员职员属于部门服务维护设施会员书籍购买折扣规则供应供书商供应量n1n1mnmn1nmn五. 数据模式现将其中几个表的关系数据模式给出: 1.书籍信息(书籍编号,书名,作者,进货价格,进货数量,供书商编号,剩余数量)2.供书商(供书商编号,名称,地址,联系电话)3.会员(会员编号,姓名,性别,联系方式,会员有效期,累计消费,享有优惠)4.数据库创建表六.系统实施基于Mocrosoft Visual Studio 的MFC平台,将数据库与MFC连接并进行相应的处理的代码如下:(1)头文件的基本设置#include #include #include #include #include #include #include #define COURSE_NO1 5/注意定义的大小应为数据库中定义的长度加一,CString的结束字符也算在内#define LEN 10/变量的长度,一般属性列的长度定义都为#define CODE_LEN 6/密码的长度BOOL FindBookDlg:OnInitDialog()/初始化列表框的函数 CDialog:OnInitDialog();/初始化列表框m_list.SetTextColor(RGB (0, 0, 0);m_list.SetBkColor(RGB(255,255,255);m_list.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);m_list.InsertColumn(0,_T(书号),LVCFMT_CENTER,100);m_list.InsertColumn(1,_T(书名),LVCFMT_CENTER,100);m_list.InsertColumn(2,_T(作者),LVCFMT_CENTER,100);m_list.InsertColumn(3,_T(价格),LVCFMT_CENTER,100);m_list.InsertColumn(4,_T(所属类型),LVCFMT_CENTER,100);return TRUE; BEGIN_MESSAGE_MAP(FindBookDlg, CDialog)ON_BN_CLICKED(IDC_BUTTON1, &FindBookDlg:OnBnClickedButton1)END_MESSAGE_MAP()/ FindBookDlg message handlers(2)查询信息按钮的消息响应函数(以查询书籍信息为例)。void FindBookDlg:OnBnClickedButton1()/ TODO: Add your control notification handler code here UpdateData(true);/初始化环境ret=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&serverhenv);ret=SQLSetEnvAttr(serverhenv,SQL_ATTR_ODBC_VERSION,(void *)SQL_OV_ODBC3,0);/建立连接 ret=SQLAllocHandle(SQL_HANDLE_DBC,serverhenv,&serverhdbc);ret=SQLConnect(serverhdbc,(SQLCHAR*)BookInfo,SQL_NTS,(SQLCHAR*)sa,SQL_NTS,(SQLCHAR*),SQL_NTS);if(!SQL_SUCCEEDED(ret)return ; /初始化语句句柄ret=SQLAllocHandle(SQL_HANDLE_STMT,serverhdbc,&serverhstmt);/执行语句CHAR SQL256;if(m_BookNo!= & m_BookName!=) ret=SQLExecDirect(serverhstmt,(SQLCHAR*)SELECT * FROM BookInfo WHERE BookNo=m_BookNo AND BookName=m_BookName,SQL_NTS);if(!(ret=SQL_SUCCESS|ret=SQL_SUCCESS_WITH_INFO)AfxMessageBox(_T(你输入的书号和书名不匹配,请重新出入!书号和书名可以任输一个!); FindBookDlg dlg; dlg.DoModal();else if(m_BookNo!=) sprintf(SQL,SELECT * FROM BookInfo WHERE BookNo=%s,m_BookNo);ret=SQLExecDirect(serverhstmt,(SQLCHAR*)SQL,SQL_NTS);else if(m_BookName!=)sprintf(SQL,SELECT * FROM BookInfo WHERE BookNo=%s,m_BookName);ret=SQLExecDirect(serverhstmt,(SQLCHAR*)SQL,SQL_NTS);else if(m_BookNo= & m_BookName=)ret=SQLExecDirect(serverhstmt,(SQLCHAR*)SELECT * FROM BookInfo,SQL_NTS);m_list.DeleteAllItems();if(ret=SQL_SUCCESS | ret=SQL_SUCCESS_WITH_INFO)ret=SQLBindCol(serverhstmt,1,SQL_C_CHAR,BookNo,LEN,&cbBookNo);ret=SQLBindCol(serverhstmt,2,SQL_C_CHAR,BookName,LEN,&cbBookName);ret=SQLBindCol(serverhstmt,3,SQL_C_CHAR,BookAuthor,LEN,&cbBookAuthor);ret=SQLBindCol(serverhstmt,4,SQL_C_FLOAT,&BookPrice,0/*sizeof(FLOAT)*/,&cbBookPrice);ret=SQLBindCol(serverhstmt,5,SQL_C_CHAR,BookType,LEN,&cbBookType);while( (ret = SQLFetch(serverhstmt) != SQL_NO_DATA_FOUND)CString temp;temp.Format(%f,BookPrice);/将double 型转换为字符型if(ret=SQL_ERROR)AfxMessageBox(_T(ERROR!);return; int row=m_list.InsertItem(0,(LPCTSTR)BookNo);m_list.SetItemText(row,1,(LPCTSTR)BookName);m_list.SetItemText(row,2,(LPCTSTR)BookAuthor);m_list.SetItemText(row,3,(LPCTSTR)temp);m_list.SetItemText(row,4,(LPCTSTR)BookType);SQLFreeHandle(SQL_HANDLE_STMT,serverhstmt);UpdateData(false);(3)消费模块(以书店进货为例)这里只给出查询信息按钮的消息响应函数void NewBookDlg:OnBnClickedOk()/ TODO: Add your control notification handler code here UpdateData(true);/初始化环境ret=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&serverhenv);ret=SQLSetEnvAttr(serverhenv,SQL_ATTR_ODBC_VERSION,(void *)SQL_OV_ODBC3,0);/建立连接 ret=SQLAllocHandle(SQL_HANDLE_DBC,serverhenv,&serverhdbc);ret=SQLConnect(serverhdbc,(SQLCHAR*)BookInfo,SQL_NTS,(SQLCHAR*)sa,SQL_NTS,(SQLCHAR*),SQL_NTS);if(!SQL_SUCCEEDED(ret)return ; /初始化语句句柄ret=SQLAllocHandle(SQL_HANDLE_STMT,serverhdbc,&serverhstmt);/执行语句ret=SQLPrepare(serverhstmt,(SQLCHAR*)INSERT INTO BookInfo(BookNo,BookName,BookAuthor,BookPrice,BookType) VALUES(?,?,?,?,?),SQL_NTS);if(ret=SQL_SUCCESS|ret=SQL_SUCCESS_WITH_INFO)lstrcpy(char *)BookNo,m_BookNo);lstrcpy(char *)BookName,m_BookName);lstrcpy(char *)BookAuthor,m_BookAuthor);BookPrice=m_BookPrice;lstrcpy(char *)BookType,m_BookType);ret=SQLBindParameter(serverhstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,LEN,0,BookNo,0,&cbBookNo);ret=SQLBindParameter(serverhstmt,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,LEN,0,BookName,0,&cbBookName);ret=SQLBindParameter(serverhstmt,3,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,LEN,0,BookAuthor,0,&cbBookAuthor);ret=SQLBindParameter(serverhstmt,4,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,sizeof(FLOAT),0,&BookPrice,0,&cbBookPrice);ret=SQLBindParameter(serverhstmt,5,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,LEN,0,BookType,0,&cbBookType);/处理结果集并执行预编译后的语句ret=SQLExecute(serverhstmt);OnOK();七.参考文献1 数据库系统原理李建中 主编 电子工业出版社2 数据库系统概论 杨开英 主编 武汉理工大学出版社3 数据库原理与应用 张冬青 主编 中国轻工业出版社4 数据库应用 张晓华 主编 重庆大学出版社八.设计感想 刚开始设计这个数据信息管理系统时候对他的定位是一个小型的书店管理系统,其规模也就是个人开设的书店,软件开发完后使用者是店主,同时店主也是收银员,管理职员和办理会员。店主即系统管理员。但后来思考的深入,考虑细节的过多,不知不觉中偏离了这个定位,后面将会说明设计功能机构框图时参考了同学的模式,将功能模块化
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度财务顾问财务顾问顾问团队能力提升服务协议
- 2025年度对外贸易合同二:国际贸易绿色包装与环保材料采购合同
- 2025版十九组太阳能路灯工程智能化管理系统开发合同
- 2025年度地产代理合同:长租公寓项目
- 2025版室内设计师墙纸师傅定制施工合作协议书
- 贵州省兴仁县2025年上半年事业单位公开遴选试题含答案分析
- 2025版沿街商铺租赁合同(含装修设计、广告投放及物业增值服务)
- 2025版企业间知识产权质押借款合同标准文本
- 2025版临时工劳务合同标准范本
- 2025年光伏发电项目电气设施安装施工合同
- 宾馆前台培训课件
- 消防安全专项施工方案及应急预案
- WST856-2025安全注射标准解读
- MSA-GRR数据自动生成工具
- 沉香种植可行性研究报告
- 光纤通信施工难点措施
- 2025年XRF考试题目及答案
- 2025年《健康知识》竞赛题库含试题及答案
- 资质备案管理办法
- 心之所向·素履以往+课件-2025-2026学年高三上学期开学第一课主题班会
- 潘毅中医基础理论教学课件
评论
0/150
提交评论