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

上传人:b****8 文档编号:9709947 上传时间:2023-02-06 格式:DOCX 页数:14 大小:280.90KB
下载 相关 举报
关于登录的并且连接数据库的小程序.docx_第1页
第1页 / 共14页
关于登录的并且连接数据库的小程序.docx_第2页
第2页 / 共14页
关于登录的并且连接数据库的小程序.docx_第3页
第3页 / 共14页
关于登录的并且连接数据库的小程序.docx_第4页
第4页 / 共14页
关于登录的并且连接数据库的小程序.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

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

《关于登录的并且连接数据库的小程序.docx》由会员分享,可在线阅读,更多相关《关于登录的并且连接数据库的小程序.docx(14页珍藏版)》请在冰豆网上搜索。

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

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

中南民族大学计算机科学学院

数据库综合实验报告

 

题目商品销售管理系统

年级2013

专业计算机技术

指导教师蓝雯飞

姓名梁凯

学号2013120182

 

年月日

一、实验目的

要求学生掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解。

二、项目背景概述

本系统采用C++Builder6.0开发环境,数据库使用的是MySQL,本系统包括注册和登录两大模块。

员工登录后,主要功能是添加销售记录,而管理员的主要功能是实现对员工和商品的管理,此外,管理员还可以对销售记录进行修改。

三、需求分析

本系统的用户是员工和管理员,销售员工需要注册一个属于自己的销售员工号,登录后进入销售商品的记录界面,每一笔销售对应一个自动生成的销售记录号,商品的价格,销售数量等由员工记录。

管理员不仅要管理员工,还要管理商品,管理员登录后,不仅可以查询全部的员工,商品和销售的信息,还可以按员工号,商品号和销售记录号进行精确查询,对于出错的销售记录还可以进行修改。

若员工被解雇或者辞职,管理员可以删除相应的员工的信息,特殊情况下,管理员还可以手动增加员工。

管理员对商品的管理也是包括增删查改等功能。

数据流图如3-1所示:

图3-1商品管理系统的数据流图

四、数据库设计

根据对用户需求和功能的分析,数据库中构建了四个表,分别是employee,products,salesrecord和user表。

其中,user表存储的是管理员和销售用户的帐号和密码。

products表存储的是商品号,商品名称以及生产日期等。

employee表存储的是全部员工和管理员的姓名,性别和年龄。

salesrecord表存储的是销售的记录号,销售员工号,商品号,销售数量,价格和销售日期等。

其中,user表中的Eid参考的是employee的Eid,也就是说销售员工是全部员工的一部分,只有注册了的员工才是销售员工;salesrecord表中的Pid,Eid参考了表products的Pid和employee的Eid。

数据库的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-1登录界面

在该界面输入用户名和密码后点击登录,系统会查询数据库中对应表的记录,如果用户名为空,会出现请“输入用户名”提示框,如果数据库中没有该记录就会提示“用户名不存在!

”;当密码框为空或者密码错误时,也会有相应的提示!

最后判断用户是管理员还是销售员工,若是管理员则进入管理员模块,否则进入销售记录界面,该模块代码如下:

void__fastcallTFormMain:

:

Button1Click(TObject*Sender)

{

if(Edit1->Text.IsEmpty())

{

MessageBox(NULL,"请输入用户名!

","提示",32+MB_TOPMOST);

Edit1->SetFocus();

}

else

{

ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("Select*fromuserWhereEid=:

UN");//“=:

”不能错,UN是临时变量

ADOQuery1->Parameters->ParamByName("UN")->Value=(Edit1->Text).ToInt();

ADOQuery1->Open();

 

if(ADOQuery1->RecordCount!

=1)

{

MessageBox(NULL,"用户名不存在","提示",32+MB_TOPMOST);

Edit1->SetFocus();

}

else

if(Edit2->Text=="")

MessageBox(NULL,"请输入密码!

","提示",16+MB_TOPMOST);

else

if(ADOQuery1->FieldValues["password"]!

=(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->EditEid->Text=Edit1->Text;

FormSaleRecord->EditEid->Enabled=false;

FormSaleRecord->Show();

}

}

}

5.2管理员模块

管理员可以查询全部的员工信息,全部的商品信息,可以查询,插入,修改,删除员工,商品,以及销售记录。

管理员模块界面如5-2所示:

图5-2

部分代码如下:

void__fastcallTFormAdmin:

:

EmDeleteClick(TObject*Sender)

{//删除员工

DataSource1->DataSet=ADOTable1;

AnsiStringInputString=InputBox("InputBox","请输入员工号","");

ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("deletefromemployeewhereEid=:

id");

ADOQuery1->Parameters->ParamByName("id")->Value=InputString;

ADOQuery1->ExecSQL();

ShowMessage("删除成功!

");

//ADOTable1->Refresh();

DataSource1->DataSet=ADOTable1;

}

void__fastcallTFormAdmin:

:

EmSearchClick(TObject*Sender)

{//员工查询

if(EditEid->Text!

="")

{

ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("select*fromemployeewhereEid=:

id");

ADOQuery1->Parameters->ParamByName("id")->Value=EditEid->Text;

ADOQuery1->Open();

}

}

 

void__fastcallTFormAdmin:

:

EmInsertClick(TObject*Sender)

{//员工插入,点击后进入员工插入界面

FormEmInsert->Show();

}

员工插入界面如5-3所示:

图5-3

销售员工注册界面如图5-3:

图5-3

void__fastcallTFormRegister:

:

Button1Click(TObject*Sender)

{

ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("select*fromemployeewhereEid=:

id");

ADOQuery1->Parameters->ParamByName("id")->Value=Edit1->Text;

ADOQuery1->Open();

if(ADOQuery1->RecordCount!

=1)

ShowMessage("员工号不正确!

");

else

{

ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("insertintouser(Eid,password)values(:

id,:

p)");

ADOQuery1->Parameters->ParamByName("id")->Value=Edit1->Text;

ADOQuery1->Parameters->ParamByName("p")->Value=Edit2->Text;

ADOQuery1->ExecSQL();

ShowMessage("注册成功!

");

//ADOQuery1->SQL->Clear();

//ADOQuery1->SQL->Add("SELECTLAST_INSERT_ID()fromuser");

//ADOQuery1->Open();

//Label3->Caption=ADOQuery1->FieldValues["尾号"];

}

}

销售记录插入界面如图5-4:

图5-4

代码如下:

void__fastcallTFormSaleRecord:

:

Button1Click(TObject*Sender)

{

ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Text="insertintosalerecord(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->Parameters->ParamByName("price")->Value=(EditPrice->Text).ToInt();

ADOQuery1->Parameters->ParamByName("amount")->Value=(EditSamount->Text).ToInt();

ADOQuery1->Parameters->ParamByName("date")->Value=EditSdate->Text;

ADOQuery1->ExecSQL();

ShowMessage("商品销售记录已记录!

");

}

 

六、调试与分析

在该系统的设计和编程过程中遇到了很多的困难,如刚开始不知道如何配置数据源,连接数据库时不知道用什么控件,增删查改语句不会使用。

所有这些问题都是不知道如何解决,唯一的解决办法就是问和学,有些是在同学和老师的帮助下完成的,有些是通过阅读文档,查阅资料完成,总之,通过各种途径把不是自己的知识变成自己的。

七、总结

通过一段时间的学习和摸索,我对C++builder开发工具已经稍微熟悉了一点,对,MySQL数据库也很了解了,但是对于一些控件的使用还是特别擅长,还有很多功能没有挖掘出来,所以我做的这个商品管理系统也不是很完善。

比如,用户的名字只能是英文的,如何把数据库中查询的汉字字符查询并显示在文本框中还没有实现。

还有就是对商品记录的插入那个模块,对于商品号的输入可以改成下拉菜单进行选择,但是也没实现。

另外,就是数据库中各个表的信息不丰富,除了必要的属性外,没有更多的属性全面的描述实体。

但是我的系统以简单为原则,界面清晰,功能齐全!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小学作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1