关于登录的并且连接数据库的小程序

上传人:ji****72 文档编号:35806465 上传时间:2018-03-20 格式:DOC 页数:11 大小:344KB
返回 下载 相关 举报
关于登录的并且连接数据库的小程序_第1页
第1页 / 共11页
关于登录的并且连接数据库的小程序_第2页
第2页 / 共11页
关于登录的并且连接数据库的小程序_第3页
第3页 / 共11页
关于登录的并且连接数据库的小程序_第4页
第4页 / 共11页
关于登录的并且连接数据库的小程序_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《关于登录的并且连接数据库的小程序》由会员分享,可在线阅读,更多相关《关于登录的并且连接数据库的小程序(11页珍藏版)》请在金锄头文库上搜索。

1、中南民族大学计算机科学学院数据库综合实验报告题 目 商品销售管理系统年 级 2013 专 业 计算机技术指导教师 蓝雯飞 姓 名 梁凯学 号 2013120182 年 月 日 一、实验目的 要求学生掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解。二、项目背景概述 本系统采用C+Builder 6.0开发环境,数据库使用的是MySQL,本系统包括注册和登录两大模块。员工登录后,主要功能是添加销售记录,而管理员的主要功能是实现对员工和商品的管理,此外,管理员还可以对销售记录进行修改。 三、需求分析本系统的用户是员工和管理员,销售员工需要注册

2、一个属于自己的销售员工号,登录后进入销售商品的记录界面,每一笔销售对应一个自动生成的销售记录号,商品的价格,销售数量等由员工记录。管理员不仅要管理员工,还要管理商品,管理员登录后,不仅可以查询全部的员工,商品和销售的信息,还可以按员工号,商品号和销售记录号进行精确查询,对于出错的销售记录还可以进行修改。若员工被解雇或者辞职,管理员可以删除相应的员工的信息,特殊情况下,管理员还可以手动增加员工。管理员对商品的管理也是包括增删查改等功能。 数据流图如3-1所示: 员工商品销售管理系统商品管理员登录登录增删查改增删查改销售员工注册 图3-1 商品管理系统的数据流图 四、数据库设计根据对用户需求和功能

3、的分析,数据库中构建了四个表,分别是employee,products,salesrecord和user表。其中,user表存储的是管理员和销售用户的帐号和密码。products表存储的是商品号,商品名称以及生产日期等。employee表存储的是全部员工和管理员的姓名,性别和年龄。salesrecord表存储的是销售的记录号,销售员工号,商品号,销售数量,价格和销售日期等。其中,user表中的Eid参考的是employee的Eid,也就是说销售员工是全部员工的一部分,只有注册了的员工才是销售员工;salesrecord表中的Pid,Eid参考了表products的Pid和employee的Ei

4、d。数据库的E_R图如图4-1所示:管理员管理员工商品销售记录销售员工employee,products,salesrecord和user表等四个表的结构及详情如下:1.employee表的结构:employee表的部分记录:2. products表的结构:products表的部分记录:3. salesrecord表的结构: salesrecord表的部分记录: 4.User表的结构:User表的部分记录:五、应用程序设计(界面分析,代码解析等)要使用该系统,首先进入的是登录界面,那么要判断用户是不是管理员或者销售员工,如果不是可以申请成为销售员工,管理员只有一个。5.1登录界面如5-1所示:

5、图5-1 登录界面在该界面输入用户名和密码后点击登录,系统会查询数据库中对应表的记录,如果用户名为空,会出现请“输入用户名”提示框,如果数据库中没有该记录就会提示“用户名不存在!”;当密码框为空或者密码错误时,也会有相应的提示!最后判断用户是管理员还是销售员工,若是管理员则进入管理员模块,否则进入销售记录界面,该模块代码如下:void _fastcall TFormMain:Button1Click(TObject *Sender) if(Edit1-Text.IsEmpty() MessageBox(NULL,请输入用户名!,提示,32+MB_TOPMOST); Edit1-SetFocus

6、(); else ADOQuery1-Close(); ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(Select * from user Where Eid=:UN ); /“=:”不能错,UN是临时变量 ADOQuery1-Parameters-ParamByName(UN)-Value=(Edit1-Text).ToInt(); ADOQuery1-Open(); if(ADOQuery1-RecordCount!=1) MessageBox(NULL,用户名不存在,提示,32+MB_TOPMOST); Edit1-SetFocus(); else i

7、f(Edit2-Text=) MessageBox(NULL,请输入密码!,提示,16+MB_TOPMOST); else if(ADOQuery1-FieldValuespassword!=(Edit2-Text).ToInt() MessageBox(NULL,密码错误!,提示,16+MB_TOPMOST); Edit2-SetFocus(); else if(Edit1-Text=1000) FormAdmin-Caption=管理员; FormMain-Hide(); FormAdmin-Show(); else FormMain-Hide(); FormSaleRecord-Edit

8、Eid-Text=Edit1-Text; FormSaleRecord-EditEid-Enabled=false; FormSaleRecord-Show(); 5.2 管理员模块管理员可以查询全部的员工信息,全部的商品信息,可以查询,插入,修改,删除员工,商品,以及销售记录。管理员模块界面如5-2所示:图5-2部分代码如下:void _fastcall TFormAdmin:EmDeleteClick(TObject *Sender) /删除员工 DataSource1-DataSet=ADOTable1; AnsiString InputString = InputBox(Input B

9、ox, 请输入员工号, ); ADOQuery1-Close(); ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(delete from employee where Eid=:id); ADOQuery1-Parameters-ParamByName(id)-Value=InputString; ADOQuery1-ExecSQL(); ShowMessage(删除成功!); / ADOTable1-Refresh(); DataSource1-DataSet=ADOTable1;void _fastcall TFormAdmin:EmSearchClic

10、k(TObject *Sender) /员工查询 if(EditEid-Text!=) ADOQuery1-Close(); ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(select * from employee where Eid=:id); ADOQuery1-Parameters-ParamByName(id)-Value=EditEid-Text; ADOQuery1-Open(); void _fastcall TFormAdmin:EmInsertClick(TObject *Sender) /员工插入,点击后进入员工插入界面 FormEmI

11、nsert-Show();员工插入界面如5-3所示:图5-3销售员工注册界面如图5-3:图5-3void _fastcall TFormRegister:Button1Click(TObject *Sender) ADOQuery1-Close(); ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(select * from employee where Eid=:id); ADOQuery1-Parameters-ParamByName(id)-Value=Edit1-Text; ADOQuery1-Open(); if(ADOQuery1-RecordCo

12、unt!=1) ShowMessage(员工号不正确!); else ADOQuery1-Close(); ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(insert into user(Eid,password) values(:id,:p); ADOQuery1-Parameters-ParamByName(id)-Value=Edit1-Text; ADOQuery1-Parameters-ParamByName(p)-Value=Edit2-Text; ADOQuery1-ExecSQL(); ShowMessage(注册成功!); / ADOQue

13、ry1-SQL-Clear(); / ADOQuery1-SQL-Add(SELECT LAST_INSERT_ID() from user); / ADOQuery1-Open(); / Label3-Caption=ADOQuery1-FieldValues尾号; 销售记录插入界面如图5-4:图5-4代码如下:void _fastcall TFormSaleRecord:Button1Click(TObject *Sender) ADOQuery1-Close(); ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Text=insert into salereco

14、rd(Eid,Pid,Price,Amount,Sdate) values(:eid,:pid,:price,:amount,:date); /与上一句等效的 /ADOQuery1-Parameters-ParamByName(sid)-Value=(EditSid-Text).ToInt(); ADOQuery1-Parameters-ParamByName(eid)-Value=(EditEid-Text).ToInt(); ADOQuery1-Parameters-ParamByName(pid)-Value=(EditPid-Text).ToInt(); ADOQuery1-Param

15、eters-ParamByName(price)-Value=(EditPrice-Text).ToInt(); ADOQuery1-Parameters-ParamByName(amount)-Value=(EditSamount-Text).ToInt(); ADOQuery1-Parameters-ParamByName(date)-Value=EditSdate-Text; ADOQuery1-ExecSQL(); ShowMessage(商品销售记录已记录!);六、调试与分析在该系统的设计和编程过程中遇到了很多的困难,如刚开始不知道如何配置数据源,连接数据库时不知道用什么控件,增删查

16、改语句不会使用。所有这些问题都是不知道如何解决,唯一的解决办法就是问和学,有些是在同学和老师的帮助下完成的,有些是通过阅读文档,查阅资料完成,总之,通过各种途径把不是自己的知识变成自己的。 七、总结通过一段时间的学习和摸索,我对C+builder开发工具已经稍微熟悉了一点,对,MySQL数据库也很了解了,但是对于一些控件的使用还是特别擅长,还有很多功能没有挖掘出来,所以我做的这个商品管理系统也不是很完善。比如,用户的名字只能是英文的,如何把数据库中查询的汉字字符查询并显示在文本框中还没有实现。还有就是对商品记录的插入那个模块,对于商品号的输入可以改成下拉菜单进行选择,但是也没实现。另外,就是数据库中各个表的信息不丰富,除了必要的属性外,没有更多的属性全面的描述实体。但是我的系统以简单为原则,界面清晰,功能齐全!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号