zoukankan      html  css  js  c++  java
  • winform基础——实现简易赈灾物资发放登记系统

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Data;
    using System.Data.SqlClient;
    namespace ConsoleApplication10
    {
    class Program
    {
    public const string CONNSTRING = "server=.;database=zhenzai;uid=sa;pwd=123";
    static void Main(string[] args)
    {
    //标题栏
    Console.WriteLine("****************赈灾物资发放登记系统*******************");
    Console.WriteLine("1.物资库存维护");
    Console.WriteLine("2.物资库存列表");
    Console.WriteLine("3.物资发放");
    Console.WriteLine("4.物资发放统计");
    Console.WriteLine("5.退出系统");
    Console.WriteLine("*******************************************************");
    //进入循环 可以循环输入数字进入系统
    while (true)
    {
    string a = Console.ReadLine();
    switch (a)
    {
    case "1":
    ChaInfo(); //输入1 进入库存管理函数
    break;
    case "2":
    ShowKc(); //输入2 进入显示库存函数
    break;
    case "3":
    fafang(); //输入3 进入物资发放函数
    break;
    case "4":
    FaTongji(); // 输入4 进入显示发放物资函数
    break;

    default:
    break;
    }
    if (a=="5")
    {
    break; // 输入5 跳出循环
    }
    }
    }
    /// <summary>
    /// 库存管理函数(库存输入)
    /// </summary>
    public static void ChaInfo()
    {
    Console.Write("请输入物资名称:");
    string name = Console.ReadLine();
    Console.Write("请输入库存数量:");
    string num = Console.ReadLine();
    Console.Write("请输入计量单位:");
    string danwei = Console.ReadLine();
    Console.Write("请输入物资单价:");
    string jiage = Console.ReadLine();
    SqlConnection conn = new SqlConnection(CONNSTRING);
    //为了防止添加出错链接关不掉,使用try-catch-finally
    try
    {
    conn.Open();
    SqlCommand cmd = conn.CreateCommand();
    cmd.CommandText = "insert into kc values('" + name + "','" + num + "','" + danwei + "','" + jiage + "')";
    cmd.ExecuteNonQuery();
    Console.WriteLine("添加成功!");
    }
    catch
    {
    Console.WriteLine("添加出错");
    }
    finally
    {
    conn.Close();
    }
    Console.WriteLine("*******************************************************");
    }
    /// <summary>
    /// 显示库存函数
    /// </summary>
    public static void ShowKc()
    {
    Console.WriteLine("物资库存列表如下:");
    Console.WriteLine("**********************************************************");
    Console.WriteLine("物资名称 库存数量 单价(元)");
    SqlConnection conn = new SqlConnection(CONNSTRING);
    try
    {
    conn.Open();
    SqlCommand cmd = conn.CreateCommand();
    cmd.CommandText = "select * from kc";
    SqlDataReader dr = cmd.ExecuteReader();
    while (dr.Read())
    {
    Console.WriteLine(dr[0].ToString() + " " + dr[1].ToString() + dr[2].ToString() + " " + dr[3].ToString() + " ");
    }
    }
    finally
    {
    conn.Close();
    }
    Console.WriteLine("*******************************************************");
    }
    /// <summary>
    /// 发放物资函数
    /// </summary>
    public static void fafang()
    {
    Console.Write("请输入发放物资:");
    string ss = Console.ReadLine();
    SqlConnection conn = new SqlConnection(CONNSTRING);
    try
    {
    conn.Open();
    SqlCommand cmd = conn.CreateCommand();
    cmd.CommandText = "select * from kc where WzName='" + ss + "'";
    SqlDataReader dr = cmd.ExecuteReader();
    string a, e;
    int b;
    while (dr.Read())
    {
    a = dr[3].ToString();
    Console.WriteLine("当前单价:" + a);
    b = Convert.ToInt32(dr[1]);
    e = dr[2].ToString(); //记录单位
    Console.WriteLine("当前库存:" + b + e);


    Console.Write("请输入发放数量:");
    int c = Convert.ToInt32(Console.ReadLine());
    Console.Write("接收人:");
    string d = Console.ReadLine();
    if (c > b) //判断如果发放数量大于库存数量
    {
    Console.WriteLine("库存数量不足!");
    break;
    }
    else //否则执行以下两个函数
    {
    InsertFa(ss, a, c, d, e); //向fafang表中插入数据
    JianKc(ss, b, c); // 更新库存表中相应库存数量
    Console.WriteLine("发放成功!");
    }
    }
    }
    finally
    {
    conn.Close();
    }
    Console.WriteLine("*******************************************************");
    }
    /// <summary>
    /// 更新fafang表
    /// </summary>
    /// <param name="ss">物资名称</param>
    /// <param name="a">当前单价</param>
    /// <param name="c">发放数量</param>
    /// <param name="d">接收人</param>
    /// <param name="e">单位</param>
    public static void InsertFa(string ss,string a,int c,string d,string e)
    {
    DateTime dt = DateTime.Now;
    string aa = dt.ToString("yyyy年MM月dd日");
    SqlConnection conn = new SqlConnection(CONNSTRING);
    try
    {
    conn.Open();
    SqlCommand cmd = conn.CreateCommand();
    cmd.CommandText = "insert into fafang values('" + ss + "'," + c + ",'" + e + "'," + a + ",'" + aa + "','" + d + "')";
    cmd.ExecuteNonQuery();
    }
    finally
    {
    conn.Close();
    }
    }
    /// <summary>
    /// 库存更新函数
    /// </summary>
    /// <param name="ss">物资名称</param>
    /// <param name="b">原来库存数量</param>
    /// <param name="c">发放数量</param>
    public static void JianKc(string ss,int b,int c)
    {
    SqlConnection conn = new SqlConnection(CONNSTRING);
    try
    {
    conn.Open();
    SqlCommand cmd = conn.CreateCommand();
    cmd.CommandText = "update kc set num=" + (b - c) + "where wzname='" + ss + "'";
    cmd.ExecuteNonQuery();
    }
    finally
    {
    conn.Close();
    }
    }
    /// <summary>
    /// 显示fafang表中的数据
    /// </summary>
    public static void FaTongji()
    {
    SqlConnection conn = new SqlConnection(CONNSTRING);
    try
    {
    conn.Open();
    SqlCommand cmd = conn.CreateCommand();
    cmd.CommandText = "select * from fafang";
    SqlDataReader dr = cmd.ExecuteReader();
    while (dr.Read())
    {
    Console.WriteLine(dr[1].ToString() + " " + dr[2].ToString() + dr[3].ToString() + " " + dr[4].ToString() + " " + dr[5].ToString() + " " + dr[6].ToString() + " ");
    }
    }
    finally
    {
    conn.Close();
    }
    Console.WriteLine("*******************************************************");
    }
    }
    }

  • 相关阅读:
    Linux开机自动启动ORACLE设置
    Linux Oracle服务启动&停止脚本与开机自启动
    日志挖掘(logminer)
    通过Oracle补充日志,找到锁阻塞源头的SQL
    Oracle Supplemental 补全日志介绍
    修改oracle系统参数spfile导致数据库无法启动解决
    ORA-10997:another startup/shutdown operation of this instance in progress解决方法
    Oracle DataBase单实例使用ASM案例(1)--ASM基本概念
    误删除数据文件,数据库还没有关闭
    2013全国电子设计竞赛进入国赛的项目总结
  • 原文地址:https://www.cnblogs.com/William-1234/p/4487249.html
Copyright © 2011-2022 走看看