C#餐饮管理系统详细设计(含所有窗体代码) 下载本文

内容发布更新时间 : 2024/5/7 23:27:01星期一 下面是文章的全部内容请认真阅读。

用户信息表 (tb_User) 帐号权限 系统编号 登录帐号 图1_12 用户信息实体E-R图

登录密码 在餐饮行业中,餐厅服务员起着及其重要的作用,但是由于服务人员数众多,如果不进行相应的信息记录,可能管理起来会非常困难。因此,需要对服务人员的详细信息进行记录。在数据库中建立一个志愿信息表用于存储所有服务人员的信息。支援信息实体E-R图图如1_13所示。

职员年龄 职员电话 职员性别 职员信息表 (tb_Waiter) 职员编号 系统编号 职员姓名 身份证号号码 图1_13 职员信息实体E-R图

1.4.3 数据库逻辑设计

根据设计好的E-R图在数据库中创建各表,系统数据库中各表的结构如下。 1. tb_Food(商品信息表)

tb_Food表用于保存所有商品信息,该表的结构如表1_4所示。

表1_4 商品信息表

字段名称 ID foodty foodnum foodname foodprice int char char varchar decimal 数据类型 1 10 10 50 9 字段大小 说明 系统编号 类别编号 商品代号 商品名称 商品价格 2. tb_FoodType(商品类别信息表)

tb_ FoodType表用于保存商品类别信息,该表的结构如表1_5所示。

表1_5 商品类别信息表 字段名称 ID foodtype int varchar 数据类型 4 50 字段大小 说明 系统编号 商品类别名称 3. tb_GuestFood(顾客消费信息表)

tb_GuestFood表用于保存顾客的消费信息,该表结构如表1_6所示。

表1_6 顾客消费信息表

字段名称 ID foodnum foodname foodsum foodallprice waitername beizhu zhuotai datatime int char varchar char decimal varchar varchar char varchar 数据类型 4 10 50 10 9 50 50 10 50 字段大小 说明 系统编号 商品代号 商品名称 消费数量 商品价格 操作员姓名 备注 消费桌台 消费时间 4. tb_Room(桌台信息表)

tb_Room表用于保存所有桌台信息,该表结构如表1_7所示。

字段名称 ID RoomName int char 数据类型 4 10 字段大小 说明 系统编号 桌台名称 RoomJC RommBJF RoomWZ RoomSZT RoomType RoomBZ RoomQT GuestName zhangdanDate Num WaiterName char decimal char char char varchar varchar varchar varchar int varchar 10 9 10 10 10 50 50 50 50 4 50 桌台简称 桌台包间费 桌台位置 桌台状态 桌台类型 桌台备注 桌台其他信息 顾客姓名 开台时间 顾客人数 操作员姓名 5. tb_User(用户信息表)

tb_User表用于保存所有系统用户信息,该表结构如表1_8所示。

表1_8 用户信息表

字段名称 ID UseName UserPwd power int varchar varchar char 数据类型 4 50 50 10 字段大小 说明 系统编号 用户登录名 用户登录密码 用户权限 6. tb_Writer(职员信息表)

tb_Writer表用于保存所有职员信息,该表结构如表1_9所示。

表1_9 职员信息表 字段名称 ID WaiterName CardNum WaiterNum Sex Age Tel

int varchar varchar char char char varchar 数据类型 4 50 50 10 10 10 50 字段大小 说明 系统编号 职员姓名 身份证号码 职员编号 性别 年龄 电话 1.5 公共类设计

为了节省系统资源,实现代码重用,可以在系统中设计一些公共类。本系统中创建了一个DBConn公共类,该类封装了用于连接数据库的方法。由于此类对数据库进行操作,所以需要引入一个命名空间,其主要代码如下:

自定义方法CyCon用于连接数据库,此方法返回一个SqlConnection对象,主要代码如下:

1.6 系统登录模块设计

1.6.1系统登录模块概述

为了使系统的安全性得到保障,大多数系统都开发登录模块。只有通过登录

模块,才能对登录用户进行验证,只有系统的合法用户才可以进入系统的主界面。登录模块运行结果如图1_14所示。

图1_14 登录模块运行结果

1.6.2 系统登录模块技术分析

运行本系统的登录模块,用户只需要输入用户名和密码,单击“登录”按钮进行验证。登录模块以登录的用户和密码作为搜索条件,在数据库中进行查询。

使用SqlDataReader对象的HasRows属性判断登录用户名和密码是否正确。下面介绍SqlDataReader对象的HasRows属性。

HasRows属性用于获取一个bool型的值,该值指示SqlDataReader是否包含一行或多行,语法如下:

public override bool HasRows{get;}

属性值:如果SqlDataReader包含一行或多行,则为true;否则为false。 例如,验证登录用户名和密码是否正确,可以通过以下代码实现:

1.6.3 系统登录模块实现过程

该模块需要使用的数据表示:tb_User 系统登录模块的具体实现步骤如下: (1)

新建一个Windows窗体,命名为frmLogin.cs,主要用于实现系统的登录功能,该窗体用的主要主要空间表如表1-10所示。

表1_10 登录窗体用到的主要控件

控件类型 控件ID txtName txtPwd btnSubmit btnCancel 主要属性设置 无 PasswordChar属性设置为* Text属性设置为“登录” Text属性设置为“取消” 用途 输入登录用户名 输入登录用户密码 登录 取消 (2)

由于餐饮系统使用Microsoft SQL Server 2012作为后台数据库,因为先要引用命名空间,以便在程序操作数据库,关键代码如下: