用C#与数据库实现吃货联盟订餐系统
下面是自己用C#写的一个使用数据库实现订餐管理系统管理
(大神勿喷,初学者以借鉴为主)
一共分为三个类分别是:Program(启动类),Zhuang(封装操作语句类),Zuo(操作类)
数据库表(如下):
1.菜袋表
2.菜品表
注意:菜袋表的dishMegs 和 菜品表的name 为主外键关系
3.管理员表
代码部分(如下):
既然使用了数据库那么using还是要记得导入的呦:
using System.Data.SqlClient;
using System.Data;
Program(启动类):
class Program{static void Main(string[] args){Zuo zuo = new Zuo();zuo.DengLu();Console.ReadLine();}}
Zhuang(封装操作语句类):
class Zhuang{private const string CONNSTR = "server=.;database=Demo2;uid=sa;pwd=sa";private SqlConnection _conn;public SqlConnection Conn {get {if (_conn != null){if (_conn.State == ConnectionState.Broken || _conn.State == ConnectionState.Open){_conn.Close();}}else {_conn = new SqlConnection(CONNSTR);}_conn.Open();return _conn;}}private SqlCommand _cmd;public SqlCommand Cmd {get {_cmd = new SqlCommand();_cmd.Connection = Conn;return _cmd;}}//查询ExecuteReaderpublic SqlDataReader ExecuteReader(string sql) {SqlCommand cmd = Cmd;cmd.CommandText = sql;SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);return reader;}//查询ExecuteScalarpublic object ExecuteScalar(string sql) {SqlCommand cmd = Cmd;cmd.CommandText = sql;object obj = cmd.ExecuteScalar();cmd.Connection.Close();return obj;}//增,删,改ExecuteNonQuerypublic int ExecuteNonQuery(string sql) {SqlCommand cmd = Cmd;cmd.CommandText = sql;int result = cmd.ExecuteNonQuery();cmd.Connection.Close();return result;}}
Zuo(操作类):
class Zuo{Zhuang zhang = new Zhuang();//管理员登录#region 管理员登录public void DengLu() {Console.Write("请输入管理员用户名:");string username = Console.ReadLine();Console.Write("请输入管理员密码:");string password = Console.ReadLine();string sql = "SELECT username,[password] FROM GuanLi";SqlDataReader reader = zhang.ExecuteReader(sql);if (reader.HasRows) {while (reader.Read()){if (username.Equals(reader["username"]) && password.Equals(reader["password"])) {reader.Close();Console.WriteLine("登录成功!");CaiDan();return;}}}reader.Close();Console.WriteLine("登录失败!");return;}#endregion//菜单#region 菜单public void CaiDan() {bool huan = true;do {Console.WriteLine("\n************欢迎使用老明宇吃货联盟订单系统************");Console.WriteLine("1.我要订餐\n2.查看菜袋\n3.签收订单\n4.删除订单\n5.我要点赞\n6.退出系统");Console.WriteLine("******************************************************");Console.Write("请选择:");int xuanZe = int.Parse(Console.ReadLine());switch (xuanZe){case 1:Console.WriteLine("-->我要订餐");DingDan();continue;case 2:Console.WriteLine("-->查看菜袋");LookCaiDai();continue;case 3:Console.WriteLine("-->签收订单");QianShou();continue;case 4:Console.WriteLine("-->删除订单");DeleteDingDan();continue;case 5:Console.WriteLine("-->我要点赞");IZan();continue;case 6:Console.WriteLine("-->欢迎使用,感谢您的下次光临!");huan = false;break;default:Console.WriteLine("-->无该选项!");continue;}} while (huan);}#endregion//one:我要订餐#region 我要订餐public void DingDan() {Console.WriteLine("请输入订单人的姓名:");string names = Console.ReadLine();Console.WriteLine("序号\t菜名\t单价\t点赞数");string sql = "SELECT caiID,name,money,Zan FROM CaiDan";SqlDataReader reader = zhang.ExecuteReader(sql);if (reader.HasRows) {while (reader.Read()) {Console.WriteLine("{0}\t{1}\t{2}\t{3}",reader["caiID"],reader["name"], reader["money"], reader["Zan"]);}}reader.Close();Console.WriteLine("请输入您要点的菜品编号:");int bianHao = int.Parse(Console.ReadLine());SqlDataReader reader1 = zhang.ExecuteReader(sql);string caipinName = null;//菜品名称double danJia = 0.0;//菜品单价while (reader1.Read()) {if (bianHao == Convert.ToInt32(reader1["caiID"])) {caipinName = reader1["name"].ToString();danJia = Convert.ToDouble(reader1["money"]);break;}}if (caipinName == null) {Console.WriteLine("对不起,没有该编号!");return;}reader1.Close();Console.WriteLine("请输入您的需要的份数:");int fenShu = int.Parse(Console.ReadLine());Console.WriteLine("请输入送餐时间(送餐时间是10~20点间整点送餐):");int shiJian = int.Parse(Console.ReadLine());if (shiJian<10 || shiJian>20) {Console.WriteLine("对不起,因为任性我们只在10~20整点送餐!");return;}Console.WriteLine("请输入送货地址:");string diZhi = Console.ReadLine(); //状态中0表示以预定,1表示已完成double zje = 0.0;//总金额const int yunFei = 5;//运费if (danJia * fenShu < 50){zje = danJia * fenShu + yunFei;}else {zje = danJia * fenShu;}string sql1 = "INSERT INTO UserCaiDan VALUES ('"+names+"','"+ caipinName + "',"+ fenShu + ","+ shiJian + ",'"+ diZhi + "','0','"+ zje + "')";int result = zhang.ExecuteNonQuery(sql1);if (result == 1){Console.WriteLine("订单成功!");}else {Console.WriteLine("对不起,订单失败!");}FanHui();//返回}#endregion//two:查看菜袋#region 查看菜袋public void LookCaiDai() {Console.WriteLine("序号\t订单人\t餐品信息\t送餐日期\t送餐地址\t总金额\t订单状态");string sql = "SELECT userID,name,dishMegs,fenShu,times,address,states,sumPrices FROM UserCaiDan";SqlDataReader reader = zhang.ExecuteReader(sql);if (reader.HasRows) {while (reader.Read()) {string tai = Convert.ToInt32(reader["states"])==0 ? "已预定":"已完成";Console.WriteLine("{0}\t{1}\t{2}\t{3}\t\t{4}\t\t{5}\t{6}",reader["userID"], reader["name"], reader["dishMegs"].ToString()+reader["fenShu"]+"份", reader["times"], reader["address"], reader["sumPrices"], tai);}}reader.Close();FanHui();//返回}#endregion//three:签收订单#region 签收订单public void QianShou() {Console.WriteLine("请输入要签收的订单序号:");int xuHao = int.Parse(Console.ReadLine());string sql = "UPDATE UserCaiDan SET states = 1 WHERE userID = "+ xuHao + "";int gai = zhang.ExecuteNonQuery(sql);if (gai == 1){Console.WriteLine("签收成功!");}else {Console.WriteLine("对不起,签收失败!");}FanHui();//返回}#endregion//four:删除订单#region 删除订单public void DeleteDingDan() {Console.WriteLine("请输入要删除的订单序号:");int xuHao = int.Parse(Console.ReadLine());string sql1 = "SELECT userID FROM UserCaiDan";SqlDataReader reader = zhang.ExecuteReader(sql1);bool qianShou = true;//订单是否签收while (reader.Read()) {if (xuHao == Convert.ToInt32(reader["userID"])) {qianShou = false;break;}}reader.Close();if (qianShou){Console.WriteLine("对不起,没有找到该序号!");}else {string sql = "DELETE FROM UserCaiDan WHERE states = 1";int gai = zhang.ExecuteNonQuery(sql);if (gai == 1){Console.WriteLine("删除成功!");}else{Console.WriteLine("对不起,您选择的订单未签收,不可删除!");}}FanHui();//返回}#endregion//five:我要点赞#region 我要点赞public void IZan() {Console.WriteLine("序号\t菜名\t\t单价\t点赞数");string sql = "SELECT caiID,name,money,Zan FROM CaiDan";SqlDataReader reader = zhang.ExecuteReader(sql);if (reader.HasRows){while (reader.Read()){Console.WriteLine("{0}\t{1}\t{2}\t{3}", reader["caiID"], reader["name"], reader["money"], reader["Zan"]);}}reader.Close();Console.WriteLine("请输入您要点赞的菜品序号:");int bianHao = int.Parse(Console.ReadLine());SqlDataReader reader1 = zhang.ExecuteReader(sql);bool cunZai = true;while (reader1.Read()){if (bianHao == Convert.ToInt32(reader1["caiID"])){cunZai = false;break;}}if (cunZai){Console.WriteLine("对不起,没有该编号!");return;}reader1.Close();string sql2 = "UPDATE CaiDan SET Zan = Zan+1 WHERE caiID = "+ bianHao + "";int gai = zhang.ExecuteNonQuery(sql2);if (gai == 1){Console.WriteLine("点赞成功!");}else {Console.WriteLine("对不起,点赞失败!");}FanHui();//返回}#endregion//输入0返回方法#region 输入0返回方法public void FanHui() {int shuRu = 0;do {Console.Write("输入0返回:");shuRu = int.Parse(Console.ReadLine());} while (shuRu != 0);CaiDan();}#endregion}
封装类有宝宝们还不懂的请打开:
https://blog.csdn.net/qq_44860582/article/details/97615515
用C#与数据库实现吃货联盟订餐系统相关推荐
- java吃货联盟app讲解_吃货联盟订餐系统——JAVA实现
package com.chihuo; import java.util.Scanner; public class OrderingMgr { public static void main(Str ...
- 吃货联盟订餐系统项目
吃货联盟订餐系统项目 代码思路: 第一阶段:分析数据主题 第二阶段:分析并完成整体框架 第三阶段:分析并完成退出功能 第四阶段:分析并完成订餐功能 第五阶段:分析并完成查看餐袋功能 第六阶段:分析 ...
- java吃货联盟app讲解_java吃货联盟订餐系统
ackage cn.practice1200; import java.util.Scanner; public class Eater_Alliance { /** * 吃货联盟订餐系统 * * @ ...
- 代码:吃货联盟订餐系统
package Temporary.cn.kgc;import java.util.Scanner;public class Eater_Alliance {public static void ma ...
- Java程序编写 • 【第9章 程序:用定义类实现,吃货联盟订餐系统,新增商家和评论功能】
本章节总结 返回作业目录 <吃货联盟订餐系统> 功能展示1:订餐 功能展示2:查看订单 功能展示3:签收订单 功能展示4:删除订单 功能展示5:商家评论 代码足有500多行,我会拆分开,进 ...
- java订餐系统_Java——吃货联盟订餐系统
public static voidmain(String[] args) { String[] names= new String[4]; //订餐人姓名 String[] dishMegs = n ...
- java基础项目案例:吃货联盟订餐系统
package org;import java.util.Scanner;public class OrderingUtil {Scanner input = new Scanner(System.i ...
- 吃货联盟订餐系统 java
package com.chi; import java.util.Scanner; public class OrderingUtil { Scanner input = new Scanner(S ...
- Java基础之吃货联盟订餐系统Version1.0
注意:此项目为刚学完Java基础至数组的入门程序. 吃货联盟订餐系统Version1.0是在数组的基础上完成的一个小项目,由于只是运用数组实现了一些简单的功能, 所以我管它叫Version1.0,即1 ...
最新文章
- full calendar mysql_fullcalendar 及mysql数据库的工作日管理
- Serverless特点及应用
- 在WinSCP中使用sudo进行sftp,不用输入密码,获得root权限
- GPRS流量计算方法(TCP/IP)
- 格斗类游戏和休闲类游戏不同
- 杀死进程和apk的安装
- python转csv_python如何将列表存储为csv文件
- Activiti工作流入门
- pytorch:ResNet50做新冠肺炎CT照片是否确诊分类
- 2019牛客暑期多校训练营(第七场)A String(暴力)
- Quarkus的其他(非标准)CDI功能
- MySql 优化的 30 条建议
- 已经没有再谈话再培养的飞秋必要了
- Keil5消除未调用警告
- 【IDEA】idea中Git的使用小技巧
- java sencha_开始使用Sencha Cmd
- 如何克服presentation恐惧呢?
- hp1015驱动64位_惠普1015打印机驱动下载|惠普 1015驱动电脑版 - 极光下载站
- 项目:智能语音对话机器人
- android 那个桌面好,手机桌面软件哪个好?最好用的手机桌面软件推荐