资源描述
目 录1.系统介绍12.数据库表的结构描述及其关系23软件的模块结构介绍33.1登录模块33.2 商品信息操作模块33.3 会员信息操作模块33.4 打印报表功能模块43.5退出系统功能模块44.主要功能模块的流程图55.主要功能的实现代码65.1登陆实现代码65.2注册实现代码65.3 商品信息操作模块代码实现75.3.1商品查询功能实现代码75.3.2商品添加功能实现代码75.3.3商品删除功能实现代码75.3.4商品信息修改实现代码85.4.1 会员查询功能模块代码实现85.4.2 会员添加代码实现95.4.3会员删除代码实现96.程序运行效果极其分析106.1登陆窗口106.2注册窗口116.3商品操作模块136.3.1商品查询136.3.2 商品添加156.3.3商品删除166.3.4商品信息修改176.4 会员操作模块运行窗口196.4.1 会员查询196.4.2会员删除206.5打印报表21个人心得与体会221.系统介绍 会员管理系统(Member management system或者Vip Manages),是指企业用于对会员进行有效管理的IT系统。通过会员管理系统,企业就可以记录所有会员客户的资料,了解用户的兴趣爱好、消费特点、意向需求 等;同时针对客户的需求,为其提供优质的个性化服务;会员管理系统还能为企业的产品开发、事业发展提供可靠的市场调研数据,是企业经营不可或缺的一个有利工具。会员系统管理的第一阶段是实现对会员信息、交易的管理,能够发行会员卡,分会员等级,返回积分等。现在广泛被使用的会员管理系统普遍是第一阶段,比较典型的有回头客单机版。随着互联网技术的出现,新一代的会员管理系统不仅能实现管理和交易,而且开始对会员进行更精准的分类,根据分类对不同的会员开展针对性的营销和关怀,真正提高会员忠诚度,为企业创造价值。 我所设计的甜品店会员管理系统是一个基于delphi7.0和SQL server2005运行的会员管理系统。甜品店会员管理系统可以实现商品的添加、删除、查询、修改以及会员的登陆、注册、添加、删除、查询、和会员信息的修改及消费积分的查询。除以上两大重要功能外,还能实现打印报表等基本功能。甜品店会员管理系统有以下几大优势: 1、建立长期稳定的消费市场 2、培养大批品牌忠诚者 3、加强企业与会员之间互动交流,改进产品 4、提高新产品开发能力和服务能力 5、市场消费的第一手资料 6、维护新客户,留住回头客2.数据库表的结构描述及其关系 系统创建一个会员及商品信息数据库,当中包含有两个数据表:表1 商品信息表、表2会员信息表。两个表的结构如下所示: 表1 商品信息表列名数据类型允许null值商品编号int否商品名称nchar否商品价格float否 表1表2 会员信息表 列名数据类型允许null值会员卡号int否会员姓名nchar否会员登陆密码nchar否会员消费Float是会员积分int是联系方式nchar否表2功能模块图如下图3所示 甜品店会员管理系统 商品修改商品删除商品添加商品查询会员添加会员删除积分记录会员信息操作商品信息操作会员查询 图33软件的模块结构介绍3.1登录模块登录模块是管理系统的必要模块之一,在用户进入主界面前必须进行身份验证,用户输入用户名和密码,若输入正确则用户进入主界面。当你是一个新用户时首先要进行注册,对个人信息注册完毕后再登录该系统。3.2 商品信息操作模块 商品信息操作模块包括四个功能模块:商品查询模块、商品添加模块、商品删除模块、商品修改模块。 商品查询模块功能如下:当用户输入商品编号和商品名称时,点击按钮查询到商品的价格。 商品添加模块功能如下:当有一种新的商品需要添加进柜台时,将它的商品编号,商品名称,商品价格输入信息框,点击按钮即可添加新的商品信息。 商品删除模块功能如下:当想要删除某一种商品时,输入商品的编号及名称,点击按钮即可删除掉此商品的所有信息。 商品修改模块功能如下:如果您想修改某一件商品的价格,将它的编号及姓名输入,新的商品价格输入,点击按钮,就可以将商品的新信息导入。3.3 会员信息操作模块 会员信息操作模块也包括四个功能模块:会员查询模块、会员添加模块、会员删除模块以及会员积分记录模块。会员查询模块功能如下:输入会员的会员卡号与会员姓名,点击按钮,即可获取此会员的所有个人信息,如联系方式和积分情况。会员添加模块功能如下:如果管理员想添加新用户,将新增的会员卡号与会员姓名输入,若数据库中无此会员,则会员输入密码,并再次输入密码,若两次密码相同,提示会员添加成功。否则提示会员已存在。会员删除模块功能如下:输入会员的会员卡号与会员姓名,当按确认按钮时删除此会员所有信息;按取消按钮则取消删除操作。积分记录模块功能如下:积分记录中有两个重要操作,其一为积分查询,其二为积分清零。输入会员卡号与会员姓名,查询其积分并选择是否将用户积分清零。 3.4 打印报表功能模块 用户可以将商品信息表或者会员信息表通过打印机打印出来。 3.5退出系统功能模块 点击按钮,管理员退出管理系统。 4.主要功能模块的流程图 开始 登录窗口 NO信息正确确?确 YES 退出系统打印报表会员操作商品操作 进入主界面 图45.主要功能的实现代码 5.1登陆实现代码 procedure TForm2.Button1Click(Sender: TObject);beginif datamodule16.ADOTable2.Locate(会员卡号;会员登录密码,vararrayof(edit1.Text,edit2.Text),)then form2.ModalResult:=10 else showmessage(您输入的密码不正确,或者用户不存在,请注册,);end;procedure TForm2.Button2Click(Sender: TObject);beginapplication.CreateForm(tform9,form9);application.Run;end;5.2注册实现代码beginif datamodule16.ADOTable2.Locate(会员卡号;会员姓名,vararrayof(edit1.Text,edit2.Text ),) then showmessage(用户已存在) else if form9.Edit3.Text =form9.Edit4.Text then showmessage(用户注册成功) else begin showmessage(您两次输入的密码不正确,请重新输入); datamodule16.ADOTable2.Insert; datamodule16.ADOTable2.FieldByName(会员卡号).Value:=(edit1.Text); datamodule16.ADOTable2.FieldByName(会员姓名).Value:=(edit2.Text); datamodule16.ADOTable2.FieldByName(会员登录密码).Value:=(edit3.Text); datamodule16.ADOTable2.Post;5.3 商品信息操作模块代码实现5.3.1商品查询功能实现代码beginif datamodule16.ADOTable1.Locate(商品编号;商品名称,vararrayof(edit1.Text,edit3.Text),) thenshowmessage(您所查找的商品价格为+inttostr(datamodule16.ADOTable1商品价格)elsebeginshowmessage(没有找到您需要的商品);datamodule16.ADOTable1.Delete;end;5.3.2商品添加功能实现代码 procedure TForm11.Button1Click(Sender: TObject);beginif datamodule16.ADOTable1.Locate(商品编号;商品名称,vararrayof(edit1.Text,edit2.Text),)then showmessage(此商品已存在) else begin showmessage(已成功添加新商品); datamodule16.ADOTable1.Insert; datamodule16.ADOTable1.FieldByName(商品编号).Value:=(edit1.Text); datamodule16.ADOTable1.FieldByName(商品名称).Value:=(edit2.Text); datamodule16.ADOTable1.FieldByName(商品价格).Value:=(edit3.Text); datamodule16.ADOTable1.Post; end; end; end. 5.3.3商品删除功能实现代码procedure TForm13.Button1Click(Sender: TObject);begin datamodule16.ADOTable1.Open; if datamodule16.ADOTable1.Locate(商品编号;商品名称,vararrayof(edit1.Text, edit2.Text),)then begin showmessage(查找到此商品,您确认删除此商品的所有信息么?); datamodule16.ADOTable1.Delete; end else showmessage(此商品不存在); end; end. 5.3.4商品信息修改实现代码procedure TForm14.Button1Click(Sender: TObject);beginif datamodule16.ADOTable1.Locate(商品编号;商品名称,vararrayof(edit1.Text,edit2.Text),) thenshowmessage(您查找到此商品,商品价格修改成功)elsebegin showmessage(没有您所查找的商品); datamodule16.ADOTable1.Open; datamodule16.ADOTable1.Edit; datamodule16.ADOTable1.Delete; datamodule16.ADOTable1.Insert; datamodule16.ADOTable1.FieldByName(商品价格).Value:=(edit3.Text); datamodule16.ADOTable1.Post;end;end;end.end. 5.4会员信息操作模块代码实现 5.4.1 会员查询功能模块代码实现 procedure TForm6.Button1Click(Sender: TObject);beginif datamodule16.ADOTable2.Locate(会员卡号;会员姓名,vararrayof(edit1.Text,edit2.Text),)then showmessage(查找到此会员,是否获取基本信息?); form4:=tform4.Create(application); form4.show; form4.Edit1.Text:=datamodule16.ADOTable2会员卡号; form4.Edit2.Text:=datamodule16.ADOTable2会员姓名; form4.Edit3.Text:=datamodule16.ADOTable2会员积分; form4.Edit4.Text:=datamodule16.ADOTable2联系方式;end;end. 5.4.2 会员添加代码实现 procedure TForm9.Button1Click(Sender: TObject);beginif datamodule16.ADOTable2.Locate(会员卡号;会员姓名,vararrayof(edit1.Text,edit2.Text ),) then showmessage(用户已存在) else if form9.Edit3.Text =form9.Edit4.Text then showmessage(用户注册成功) else begin showmessage(您两次输入的密码不正确,请重新输入); datamodule16.ADOTable2.Insert; datamodule16.ADOTable2.FieldByName(会员卡号).Value:=(edit1.Text); datamodule16.ADOTable2.FieldByName(会员姓名).Value:=(edit2.Text); datamodule16.ADOTable2.FieldByName(会员登录密码).Value:=(edit3.Text); datamodule16.ADOTable2.Post; end; end; End.5.4.3会员删除代码实现procedure TForm10.Button1Click(Sender: TObject);begin datamodule16.ADOTable2.Open;if datamodule16.ADOTable2.Locate(会员卡号;会员姓名,vararrayof(edit1.Text,edit2.Text),)then begin showmessage(查找到此会员,您确认删除此会员的所有信息么?); datamodule16.ADOTable2.Edit; datamodule16.ADOTable2.Delete; end else showmessage(此会员不存在); end;6.程序运行效果极其分析6.1登陆窗口如图5所示图5 6.2注册窗口如图6所示若数据库中会员存在则显示用户已存在 图6若用户注册过程中密码输入不一致,则显示重新输入,如图7。图7若数据库中不存在此会员,两次输入的密码相同,则注册成功,显示用户注册成功,如图8所示。 图86.3商品操作模块 6.3.1商品查询输入商品的编号和名称,若数据库中存在此商品则显示查询到的价格,如图9所示。 、 图9 若数据库中无此商品则显示没有找到您需要的商品,如图10所示。 图10 6.3.2 商品添加将数据库中没有的新商品添加入柜台,添加成功如下,如图11所示。 图116.3.3商品删除若想删除商品信息,输入商品的编号和名称,若商品存在则显示查找到此商品,您确认删除此商品的所有信息么?如图12所示。 图12 6.3.4商品信息修改 若想修改商品信息,正确输入商品的名称或者编号,可修改商品价格或者商品名称。 如图13所示。 图13若商品不存在则显示没有您所查找的商品。如图14所示。图146.4 会员操作模块运行窗口6.4.1 会员查询输入会员卡号与会员姓名,点击按钮即可获取会员基本信息。否则显示此会员不存在。如图15所示。图156.4.2会员删除输入会员卡号与会员姓名,若此会员存在则显示查找到此会员,您确认删除此会员的所有信息么?,点击ok即可删除相关信息。否则,显示会员不存在。如图16所示。图166.5打印报表点击打印或者打印预览按钮,可查看打印效果。打印报表运行窗体如下图17所示。图17 个人心得与体会 项目文件里的窗体是自动创建,用于主窗体之前的封面窗体和登陆窗体;而单元文件里的窗体不是自动创建,用于主窗体之后的窗体,若想创建窗体需要加入如下创建语句。删除信息时,只需delete,不需要再post。 DataModule 本身就是一个类, 多了一个外观而已, 这样只是为了可视, 或者换句话说它跟 TFoo/TVeecile/TCar这些东西没什么区别, 所以没必要再定义一个 class。 DataModule 上面可以放 Table/Query, 这个只是为了跟数据库打交道也可以定义字典什么的, 目的在于让对像的内容保存/或者你说的持久化, 或者换句话说你完全可以把 TDataModule 当作一个 TCar 来用(实际上这个派生类名已经是由你起的), 可以定义无数个 DataModule 分别去实现业务逻辑/对像等等, 而不是只作为一个放 Table/Query 的容器。 在存储层中,用table实现insert、update和delete,个人觉得比较简单。 此外还有一些比较实用的代码: (1)主键: ALTER TABLE VersionControlInformation Drop CONSTRAINT PRIMARYKEY Alter table VersionControlInformation add primary key (ModulePath) (2)修改表结构: Alter Table SB04_2008_CONFIG Add Column ND_B_YNSDSE Varchar(20) Alter Table SB04_2008_CONFIG drop Column DE_YNSDSE(3)装载动态库: LoadLibrary(Pchar(Appdir+DataEncry.dll)(4)如何删除表中的重复记录?(这里指记录的每个字段都要相同) select distinct * into #temp from tab delete from tab insert into tab select * from #temp drop table #temp 23
展开阅读全文