1、2001-5-21确定完成此次课程设计的确立了以C+ Builder V6.0为基础1 2011-5-26 主要软件环境 的编写环境,使用ADO连接数据库 2011-5-27 需求分析和概念设计 由张继成做需求分析,夏厚道和黄毅编2 2011-6-9 写数据库建表代码,项鹏程画E-R图 2011-6-10 由黄毅,夏厚道共同完成各个界面的制逻辑设计和运用C+ 3 2011-6-17 作及代码的实现 Builder V6.0实现界面 2011-6-18 前台与后台数据库进行连使用ADO技术实现数据库的连接 4 2011-6-19 接 2011-6-20 整个系统的优化与课程设由项鹏程和张继成共同
2、攥写课程设计5 2011-6-23 计文档的编写 文档 教研室审核意见: 教研室主任签字: 年 月 日 2 1.需求分析 . 4 1.1业务分析 . 4 1.2功能分析 . 4 2.概念设计 . 4 2.1功能流程图. 4 2.2 E-R图设计 . 5 2.3 ER模型向关系模式转换 . 5 2.4数据库建表设计语言 . 5 2.4.1创建新增图书表. 5 2.4.2创建销售图书表. 6 2.4.3创建退还图书表. 6 2.4.4创建用户表 . 7 3. 逻辑设计 . 7 3.1数据字典 . 7 3.1.1 BOOKADD表:由BOOKADD强实体集转化而来 . 7 3.1.2 BOOKSAL
3、E表:由BOOKSALE强实体集转化而来 . 7 3.1.3BOOKREBACK表:由BOOKREBACK强实体集转化而来 . 8 4.编程与实现 . 8 4.1 设计环境. 8 4.2设计实现 . 8 4.2.1 登陆界面显示及主要代码 . 8 4.2.2 主界面显示 . 10 4.2.3新增图书界面及代码显示 . 10 4.2.4 销售图书界面及代码显示 . 11 4.2.5 退还图书界面及代码显示 . 13 4.2.6删除图书界面及代码显示 . 14 4.2.7查询图书界面及代码显示 . 15 4.2.8修改密码界面及代码显示 . 16 5.课程设计总结与体会 . 17 6.致谢 . 1
4、7 7.参考文献 . 17 3 1.需求分析 1.1业务分析 息技术的飞速发展给图书企业的管理带来了全新的变革,采用图书销售管理系统对图书企业的经营运作进行全程管理,不仅可以使企业摆脱以往人工管理生产的一系列问题,而且可以提高管理效率、降低管理成本、增加经济效益。1.2功能分析 能全面管理系统的各类主体的信息,如图书信息,管理员信息,新增图书信息,图书退货信息,查询图书信息,删除图书和修改密码等。2.概念设计 2.1功能流程图 图书销售管理系统 销退删查新修 售还除增询改 图图图图图密 书书书书书 码 图3.1 4 2.2 E-R图设计 图书价格 图书作者 出版社 图书名称 图书编号 图书数量
5、 图书 N 退还单号 新增 图书编号 图用户名 1 书编 号 图书名称 删退 除还新增 退还 管理员 N 1 1 N 图图退还数量 书 书 图 1 书密码 名退还金额 称 销售 退还日期 销售图书 销售日期 销售单号 销售金额 图书编号 销售数量 图书名称 3.21 图书销售管理系统 注:查询图书信息因直接显示的是新增图书里面的所有信息,故不列出 2.3 ER模型向关系模式转换 新增图书(图书编号,图书名称,图书作者,图书价格,图书数量,图书出版社) 销售图书(销售单号,图书编号,图书名称,销售数量,销售金额,销售日期) 退还图书(退还单号,图书编号,图书名称,退还数量,退还金额,退还日期)
6、查询图书(图书编号,图书名称,图书价格,现有数量) 2.4数据库建表设计语言 2.4.1创建新增图书表 create table Bookadd( 5 bookno char(12) primary key, bname varchar(40), bAuhtor varchar(20), bprice numeric(7,2), bsum int, bpublisher varchar(80) ) 2.4.2创建销售图书表 create table Booksale( saleno char(12) primary key, bookno char(12), bname varchar(40)
7、, s_sum int, sprice numeric(7,2), sDate datetime CONSTRAINT Booksalefk1 foreign key(bookno) REFERENCES Bookadd(bookno)on delete cascade on update cascade ) 2.4.3创建退还图书表 create table BookReback( rebackno char(12) primary key, saleno char(12), bname varchar(40), r_sum int, rprice numeric(7,2), rDate d
8、atetime CONSTRAINT Bookrebackfk1 foreign key(bookno) REFERENCES Bookadd(bookno) on update cascade 6 ) 2.4.4创建用户表 crete table Booklogin( username varchar(20), password varchar(20) 3.逻辑设计 3.1数据字典 数据字典中主要描述属性名称、数据类型和属性描述,其中的主码属性加粗体和下划线,外码属性加粗体和斜体以示区分。3.1.1 Bookadd表:由Bookadd强实体集转化而来 属性名称 数据类型 属性描述 char(
9、12) 图书编号 bookno bname varchar(40) 图书名称 bAuhtor varchar(20) 图书作者 bprice numeric(7,2) 图书价格 bsum int 图书数量 bpublisher varchar(80) 图书出版社 3.1.2 Booksale表:由Booksale强实体集转化而来 char(12) 销售单号 saleno s_sum int 销售数量 sprice numeric(7,2), 销售金额 sDate datetime 销售日期 7 3.1.3BookReback表:由BookReback强实体集转化而来 char(12) 退还单号
10、 rebackno r_sum int 退还数量 rprice numeric(7,2) 退还金额 sDate datetime 退还日期 4.编程与实现 4.1设计环境 Windows XP 、 Borland C+ Builder 6.0 、SQL server 2000 4.2设计实现 4.2.1登陆界面显示及主要代码 功能描述:管理员登录界面,对管理员设置权限,区分其他人 主要代码:void _fastcall TForm1:Button1Click(TObject *Sender) m_nTimes+;if(Edit1-Text.IsEmpty() ShowMessage(请输入用户
11、名);Edit1-SetFocus();8 else AnsiString s=select * from Booklogin ;s+= where username=s+=Edit1-Text; and password=s+=Edit2-ADOQuery1-SQL-Clear();/清除上次使用的SQL语句 Active=false;/关闭查询 Add(s);/添加SQL语句,执行上面的语句 ExecSQL();/执行所包含的SQL语句 Active=true;if(ADOQuery1-RecordCount=0) if(m_nTimes=3) MessageBox(NULL,你输入是不合
12、法用户,登陆失败,MB_OK);ModalResult=mrAbort;Application-Terminate();用户名和密码不正确,请重新输入输入错误Text=Edit2- ;/Edit1 使光标移动到框中ModalResult=mrNone;Form1-Hide();Form2-Show();9 4.2.2主界面显示 4.2.3新增图书界面及代码显示 新增图书,主要包括图书的编号、名称、作者、价格数量及出版社,将这些数据插入到数据库中的Bookadd表中 主要代码:void _fastcall TForm3:10 if(Edit2-Text.IsEmpty()|Edit1-Text.
13、IsEmpty()|Edit3-Text.IsEmpty()|Edit4-Text.IsEmpty()|Edit5-Text.IsEmpty()|Edit6-图书信息不能为空请输入!ADOCommand1-CommandType = cmdText;/设置或返回当前执行的文本命令。CommandText= insert into Bookadd values ( +Edit2-Text+ ,+Edit1-,+Edit3-+Edit4-+Edit5-+Edit6-) /返回当前执行的命令文本 Prepared;Execute();/执行ADOCommand对象CommandText属性所设置的查
14、询、SQL语句、存储文本或特定提供者的文本等内容。图书入库成功Edit3-Edit4-Edit6-Form3-4.2.4销售图书界面及代码显示 实现销售图书功能,主要填写的数据有销售单号、图书编号、名称、销售数量、金额以及销售的日期,将这些数据添加到数据库中的Booksale表中,同时将 Bookadd表中的图书数量做相应的减少操作。11 void _fastcall TForm4:Button3Click(TObject *Sender) AnsiString t= select * from Bookadd where bookno= t+=t+=Edit2-Add(t);FieldByName(bsum)-AsStringText) AnsiString s=update Bookadd set bsum=bsum-s+=Edit4-CommandText = s;CommandText = insert into Booksale values ( 图书销售成功E
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1