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("物资名称\t库存数量\t单价(元)");
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() + "\t\t" + dr[1].ToString() + dr[2].ToString() + "\t\t" + dr[3].ToString() + "\n");
}
}
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() + "\t" + dr[2].ToString() + dr[3].ToString() + "\t" + dr[4].ToString() + "\t" + dr[5].ToString() + "\t" + dr[6].ToString() + "\n");
}
}
finally
{
conn.Close();
}
Console.WriteLine("*******************************************************");
}
}
}

winform基础——实现简易赈灾物资发放登记系统的更多相关文章

  1. Winform开发框架之简易工作流设计(转自 伍华聪博客)

    Winform开发框架之简易工作流设计 一讲到工作流,很多人第一反应就是这个东西很深奥,有时候又觉得离我们较为遥远,确实完善的工作流设计很多方面,而正是由于需要兼顾很多方面,一般通用的工作流都难做到尽 ...

  2. 黑马程序员+Winform基础(上)

    黑马程序员+Winform基础 ---------------<a href="http://edu.csdn.net"target="blank"> ...

  3. 【2017-04-24】winform基础、登录窗口、窗口属性

    一.winform基础  客户端应用程序:C/S 客户端应用程序可以操作用户电脑中的文件,代码要在用户电脑上执行,吃用户电脑配置. 窗体是由控件和属性做出来的 控件:窗体里所放的东西."视图 ...

  4. 【转】WinForm基础

    winform基础 先修基础:C#语法基础和面向对象编程 1.Winform创建解决方案 2.Winform窗体 3.MessageBOx 4.Winform登录.控制软件只运行一次.回车登录 5.W ...

  5. php+redis 简易的实现文章发布系统(用户投票系统)

    /** * @data 文章发布 * 文章详情散列表中递增ID,讲文章发布者ID写入投票用户集合中,设置投票时间为一周 * 讲文章内容写入文章散列中,讲文章写入文章评分有序集合和文章发布有序集合中 * ...

  6. Angular7_人员登记系统

    1.ts public peopleInfo: any = { username: 'kxy', sex: '男', cityList: ['汕头', '广州', '茂名'], city: '汕头', ...

  7. 如何用chrome注册版权登记系统

    版权登记系统的网址: http://apply.ccopyright.com.cn/goadatadic/registergetList.do 打开网站,一股古朴的气息扑面而来,嗯,一看就是IE时代的 ...

  8. 【原创 Hadoop&Spark 动手实践 12】Spark MLLib 基础、应用与信用卡欺诈检测系统动手实践

    [原创 Hadoop&Spark 动手实践 12]Spark MLLib 基础.应用与信用卡欺诈检测系统动手实践

  9. Android零基础入门第2节:Android 系统架构和应用组件那些事

    原文:Android零基础入门第2节:Android 系统架构和应用组件那些事 继上一期浅谈了Android的前世今生,这一期一起来大致回顾一下Android 系统架构和应用组件. 一.Android ...

随机推荐

  1. vim下设置tab

    前言:大多数情况下tab键的宽度设置为4个空格,这个可以根据自己 的代码风格进行替换,然而当你提交不同的语言的代码的时候python 和c的时候就有区别了.c的话一般tab键做缩进,而python提交 ...

  2. CentOS下安装两个或多个Tomcat7

    链接地址:http://lcbk.net/tomcat/1407.html 首先安装JDK 安装之前检查下是否已经安装了openJDK,如果已安装,建议用yum remove 卸载掉. [root@b ...

  3. Strange Country II 暴力dfs

    这题点的个数(<=50)有限, 所以可以纯暴力DFS去搜索 //#pragma comment(linker, "/STACK:16777216") //for c++ Co ...

  4. iPhone开发技巧之日志保存教程

    http://mobile.51cto.com/iphone-283337.htm Objective-C开发程序的时候,有专门的日志操作类NSLog,它将指定的输出到标准的错误输出上(stderr) ...

  5. Hadoop 2.x(YARN)安装配置LZO

    今天尝试在Hadoop 2.x(YARN)上安装和配置LZO,遇到了很多坑,网上的资料都是基于Hadoop 1.x的,基本没有对于Hadoop 2.x上应用LZO,我在这边记录整个安装配置过程 1. ...

  6. BON取代半岛电视,美国人要“换口味”了吗?

        记得很久以前唐骏在某高校演讲时,讲了这么一个笑话,他问一位美国最普通的大妈,“请你说出三个印象最深刻的中国城市”,在北京奥运会之前,这位大妈说了如下三个城市:北京.香港.新加坡.很显然,这位大 ...

  7. 汉高澳大利亚sinox为什么不能下载源代码,因为sinox执行unix/linux/windows规划

    中国用户下载真正的澳大利亚sinox说完后sinox没有下载源代码. 这意味着,类似linux如下载linux 开源安装. 要知道.sinox并非linux. 首先,sinox是商业操作系统,就像 w ...

  8. Python 数据分析(一) 本实验将学习 pandas 基础,数据加载、存储与文件格式,数据规整化,绘图和可视化的知识

    第1节 pandas 回顾 第2节 读写文本格式的数据 第3节 使用 HTML 和 Web API 第4节 使用数据库 第5节 合并数据集 第6节 重塑和轴向旋转 第7节 数据转换 第8节 字符串操作 ...

  9. Online SVG to PNG/JPEG/TIFF conversion

    Online SVG to PNG/JPEG/TIFF conversion SVG to raster image conversion

  10. 编译kernel:编译

    韦东山Linux视频第1期_裸板_UBoot_文件系统_驱动初步第10课第3节 内核启动流程分析之Makefile.WMV  1. 编译内核分三步: make xxx_defconfig [linux ...