iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#实现销售管理系统
  • 266
分享到

C#实现销售管理系统

2024-04-02 19:04:59 266人浏览 八月长安
摘要

C#制作简易的的销售管理系统,供大家参考,具体内容如下 1.整体需求 1).具有简易的登录界面 2).能对商品信息进行快速查看、查询、添加、编辑、保存等功能。 2.设计的窗体界面 1

C#制作简易的的销售管理系统,供大家参考,具体内容如下

1.整体需求

1).具有简易的登录界面
2).能对商品信息进行快速查看、查询、添加、编辑、保存等功能。

2.设计的窗体界面

1).登录界面
2).商品信息的操作界面

3.所需的知识

 1).C#基础语法
 2).ADO.net数据库

不太清楚的可以去看我主页的文章,都是关于C#基础的知识。

4.具体步骤及代码

1).创建项目

首先打开vs2017,选择“创建项目” ,选择“windows窗体应用”。详细的操作 可以看我之前写的一些简单项目。

2).添加控件

登录界面和商品信息界面如下:

可以试着根据图片显示的去添加控件,详情见主页的C#Windows窗体应用设计系列。商品信息界面最上面是一个tool strip 控件。后面会把源码发出来,边参考源码编写可以对C#的设计更加清楚。

3).添加代码

需要添加的代码如下,添加代码的方法见主页的文章介绍。

登录界面:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.FORMs;

namespace EMS
{
    public partial class frmLogin : Form
    {
        BaseClass.BaseInfo baseinfo = new EMS.BaseClass.BaseInfo();
        BaseClass.cPopedom popedom = new EMS.BaseClass.cPopedom();
        public frmLogin()
        {
            InitializeComponent();
        }

        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (txtUserName.Text == string.Empty)
            {
                MessageBox.Show("用户名称不能为空!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            DataSet ds = null;
            popedom.SysUser = txtUserName.Text;
            popedom.PassWord = txtUserPwd.Text;
            ds=baseinfo.Login(popedom);
            if (ds.Tables[0].Rows.Count > 0)
            {
                EMS.BaseInfo.frmStock frm_Stock = new EMS.BaseInfo.frmStock();
                frm_Stock.Show();                
            }
            else
            {
                MessageBox.Show("用户名称或密码不正确!","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
            }
        }

        private void txtUserName_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyValue == 13) //判断是否按下Enter键
                txtUserPwd.Focus();//将鼠标焦点移动到“密码”文本框
        }

        private void txtUserPwd_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyValue == 13)//判断是否按下Enter键
                btnLogin.Focus();//将鼠标焦点移动到“登录”按钮
        }

        private void btnExit_Click(object sender, EventArgs e)
        {
            this.Close();
        }

      
    }
}

商品主界面的代码:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace EMS.BaseInfo
{
    public partial class frmStock : Form
    {
        BaseClass.BaseInfo baseinfo = new EMS.BaseClass.BaseInfo();//创建BaseInfo类的对象
        BaseClass.cStockInfo stockinfo = new EMS.BaseClass.cStockInfo();//创建cStockInfo类的对象
        int G_Int_addOrUpdate = 0;//定义添加/修改操作标识
        public frmStock()
        {
            InitializeComponent();
        }

        private void tlBtnAdd_Click(object sender, EventArgs e)
        {
            this.editEnabled();//设置各个控件的可用状态
            this.clearText();//清空文本框
            G_Int_addOrUpdate = 0;//等于0为添加数据
            DataSet ds = null;//创建数据集对象
            string P_Str_newTradeCode = "";//设置库存商品编号为空
            int P_Int_newTradeCode = 0;//初始化商品编号中的数字码
            ds = baseinfo.GetAllStock("tb_stock");//获取库存商品信息
            if (ds.Tables[0].Rows.Count == 0)//判断数据集中是否有值
            {
                txtTradeCode.Text = "T1001";//设置默认商品编号
            }
            else
            {
                P_Str_newTradeCode = Convert.ToString(ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["tradecode"]);//获取已经存在的最大编号
                P_Int_newTradeCode = Convert.ToInt32(P_Str_newTradeCode.Substring(1, 4)) + 1;//获取一个最新的数字码
                P_Str_newTradeCode = "T" + P_Int_newTradeCode.ToString();//获取最新商品编号
                txtTradeCode.Text = P_Str_newTradeCode;//将商品编号显示在文本框中
            }
        }
        //设置各按钮的可用状态
        private void editEnabled()
        {
            groupBox1.Enabled = true;
            tlBtnAdd.Enabled = false;
            tlBtnEdit.Enabled = false;
            tlBtnDelete.Enabled = false;
            tlBtnSave.Enabled = true;
            tlBtnCancel.Enabled = true;
        }
        //设置各按钮的可用状态
        private void cancelEnabled()
        {
            groupBox1.Enabled = false;
            tlBtnAdd.Enabled = true;
            tlBtnEdit.Enabled = true;
            tlBtnDelete.Enabled = true;
            tlBtnSave.Enabled = false;
            tlBtnCancel.Enabled = false;
        }
        //清空文本框
        private void clearText()
        {
            txtTradeCode.Text= string.Empty;
            txtFullName.Text = string.Empty;
            txtType.Text = string.Empty;
            txtStandard.Text = string.Empty;
            txtUnit.Text = string.Empty;
            txtProduce.Text = string.Empty;
        }
        //设置DataGridView列标题
        private void SetdgvStockListHeadText() 
        {
            dgvStockList.Columns[0].HeaderText = "商品编号";
            dgvStockList.Columns[1].HeaderText = "商品名称";
            dgvStockList.Columns[2].HeaderText = "商品型号";
            dgvStockList.Columns[3].HeaderText = "商品规格";
            dgvStockList.Columns[4].HeaderText = "商品单位";
            dgvStockList.Columns[5].HeaderText = "商品产地";
            dgvStockList.Columns[6].HeaderText = "库存数量";
            dgvStockList.Columns[7].Visible = false;
            dgvStockList.Columns[8].HeaderText = "商品价格(加权平均价格)";
            dgvStockList.Columns[9].Visible = false;
            dgvStockList.Columns[10].HeaderText = "盘点数量";
            dgvStockList.Columns[11].Visible = false;
            dgvStockList.Columns[12].Visible = false;
        }

        private void frmStock_Load(object sender, EventArgs e)
        {
            txtTradeCode.ReadOnly = true;//设置商品编号文本框只读
            this.cancelEnabled();//设置各按钮的可用状态
            //显示所有库存商品信息
            dgvStockList.DataSource = baseinfo.GetAllStock("tb_stock").Tables[0].DefaultView;
            this.SetdgvStockListHeadText();//设置DataGridView控件的列标题
        }

        private void tlBtnSave_Click(object sender, EventArgs e)
        {
            //判断是添加还是修改数据
            if (G_Int_addOrUpdate == 0)
            {
                try
                {
                    //添加数据
                    stockinfo.TradeCode = txtTradeCode.Text;
                    stockinfo.FullName = txtFullName.Text;
                    stockinfo.TradeType = txtType.Text;
                    stockinfo.Standard = txtStandard.Text;
                    stockinfo.Unit = txtUnit.Text;
                    stockinfo.Produce = txtProduce.Text;
                    //执行添加操作
                    int id = baseinfo.AddStock(stockinfo);
                    MessageBox.Show("新增--库存商品数据--成功!", "成功提示!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message,"错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                //修改数据
                stockinfo.TradeCode = txtTradeCode.Text;
                stockinfo.FullName = txtFullName.Text;
                stockinfo.TradeType = txtType.Text;
                stockinfo.Standard = txtStandard.Text;
                stockinfo.Unit = txtUnit.Text;
                stockinfo.Produce = txtProduce.Text;
                //执行修改操作
                int id = baseinfo.UpdateStock(stockinfo);
                MessageBox.Show("修改--库存商品数据--成功!", "成功提示!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            dgvStockList.DataSource = baseinfo.GetAllStock("tb_stock").Tables[0].DefaultView;//显示最新的库存商品信息
            this.SetdgvStockListHeadText();//设置DataGridView控件列标题
            this.cancelEnabled();//设置各个按钮的可用状态
        }

        private void tlBtnEdit_Click(object sender, EventArgs e)
        {
            this.editEnabled();//设置各个按钮的可用状态
            G_Int_addOrUpdate = 1;//等于1为修改数据
        }

        private void tlBtnFind_Click(object sender, EventArgs e)
        {
            if (tlCmbStockType.Text == string.Empty)//判断查询类别是否为空
            {
                MessageBox.Show("查询类别不能为空!", "错误提示!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                tlCmbStockType.Focus();//使查询类别下拉列表获得鼠标焦点
                return;
            }
            else
            {
                if (tlTxtFindStock.Text.Trim() == string.Empty)//判断查询关键字是否为空
                {
                    //显示所有库存商品信息
                    dgvStockList.DataSource = baseinfo.GetAllStock("tb_stock").Tables[0].DefaultView;
                    this.SetdgvStockListHeadText();//设置DataGridView控件的列标题
                    return;
                }
            }
            DataSet ds = null;//创建DataSet对象
            if (tlCmbStockType.Text == "商品产地") //按商品产地查询
            {
                stockinfo.Produce = tlTxtFindStock.Text;//记录商品产地
                ds = baseinfo.FindStockByProduce(stockinfo, "tb_Stock");//根据商品产地查询商品信息
                dgvStockList.DataSource = ds.Tables[0].DefaultView;//显示查询到的信息
            }
            else//按商品名称查询
            {
                stockinfo.FullName = tlTxtFindStock.Text;//记录商品名称
                ds = baseinfo.FindStockByFullName(stockinfo, "tb_stock");//根据商品名称查询商品信息
                dgvStockList.DataSource = ds.Tables[0].DefaultView;//显示查询到的信息
            }
            this.SetdgvStockListHeadText();//设置DataGridView控件列标题
        }

        private void tlBtnDelete_Click(object sender, EventArgs e)
        {
            if (txtTradeCode.Text.Trim() == string.Empty)//判断是否选择了商品编号
            {
                MessageBox.Show("删除--库存商品数据--失败!", "错误提示!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            stockinfo.TradeCode = txtTradeCode.Text;//记录商品编号
            int id = baseinfo.DeleteStock(stockinfo);//执行删除操作
            MessageBox.Show("删除--库存商品数据--成功!", "成功提示!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            dgvStockList.DataSource = baseinfo.GetAllStock("tb_stock").Tables[0].DefaultView;//显示最新的库存商品信息
            this.SetdgvStockListHeadText();//设置DataGridView控件列标题
            this.clearText();//清空文本框
        }

        private void tlBtnCancel_Click(object sender, EventArgs e)
        {
            this.cancelEnabled();//设置各个按钮的可用状态
        }

        private void dgvStockList_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            txtTradeCode.Text = this.dgvStockList[0, dgvStockList.CurrentCell.RowIndex].Value.ToString();//显示商品编号
            txtFullName.Text = this.dgvStockList[1, dgvStockList.CurrentCell.RowIndex].Value.ToString();//显示商品全称
            txtType.Text = this.dgvStockList[2, dgvStockList.CurrentCell.RowIndex].Value.ToString();//显示商品型号
            txtStandard.Text = this.dgvStockList[3, dgvStockList.CurrentCell.RowIndex].Value.ToString();//显示商品规格
            txtUnit.Text = this.dgvStockList[4, dgvStockList.CurrentCell.RowIndex].Value.ToString();//显示商品单位
            txtProduce.Text = this.dgvStockList[5, dgvStockList.CurrentCell.RowIndex].Value.ToString();//显示商品产地
        }

        private void tlBtnExit_Click(object sender, EventArgs e)
        {
            this.Close();//关闭当前窗体
        }

        private void dgvStockList_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }
    }
}

Main.cs


using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace EMS
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new frmLogin());
        }
    }
}

需要添加的图片素材在源码文件夹的icon和image文件夹里面,觉得不好看的可以自行查找。
注意,添加代码时要与自己的添加的控件一一对应起来。

4).建立数据库

数据库具体的添加方法在我主页的文章《一起来学C#之数据库》中讲过,在菜单栏中的“项目”-》》“添加新项目”-》》“基于服务的数据库”,具体操作可以看我前面的文章。本次给出的源码有数据库,可以自行修改添加。

5).调试运行

根据自己所写的去运行,再对照提供的源码修改错误,运行界面如下。

登录界面:

登录账户名:mr 密码:mrsoft,可以根据源码自行修改。

信息界面:

写好运行后就可以看到该界面。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#实现销售管理系统

本文链接: https://www.lsjlt.com/news/129052.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#实现销售管理系统
    C#制作简易的的销售管理系统,供大家参考,具体内容如下 1.整体需求 1).具有简易的登录界面 2).能对商品信息进行快速查看、查询、添加、编辑、保存等功能。 2.设计的窗体界面 1...
    99+
    2024-04-02
  • C语言实现销售管理系统
    本文实例为大家分享了C语言实现销售管理系统的具体代码,供大家参考,具体内容如下 这是题目,没用到文件相关的函数,所以不能保存在本地,每次读入都得重新输入。 #include<...
    99+
    2024-04-02
  • C语言实现销售管理系统设计
    本文实例为大家分享了C语言实现销售管理系统设计的具体代码,供大家参考,具体内容如下 某公司有四个销售员(编号: 1-4), 负责销售五种产品(编号: 1-5)。 每个销售员都将当天出...
    99+
    2024-04-02
  • C语言链表实现销售管理系统
    本文实例为大家分享了C语言链表实现销售管理系统的具体代码,供大家参考,具体内容如下 源码 #include<stdio.h> #include<stdlib.h&g...
    99+
    2024-04-02
  • C语言实现电器销售管理系统
    本文实例为大家分享了C语言实现电器销售管理系统的具体代码,供大家参考,具体内容如下 系统功能设计 管理信息系统具有多种功能,各种功能之间又有多种联系,构成了一个有机结合的整体。信息处...
    99+
    2024-04-02
  • 钉钉系统能实现销售进销存管理
    一、钉钉系统的优势 快捷高效:钉钉系统采用了企业级的通讯架构和云计算技术,可以实现即时通讯、多方会议、文件共享等高效的协同办公功能。 高度集成:钉钉系统可以与企业现有的销售、采购、库存等系统进行无缝集成,让企业管理者能够更加高效地进行管...
    99+
    2023-10-28
    进销存管理 系统
  • 如何使用C语言实现销售管理系统
    这篇文章给大家分享的是有关如何使用C语言实现销售管理系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下一.C程序设计课程设计题目简介该设计要求学生以某公司销售管理业务为背景,设计、开发一套“销售管理系...
    99+
    2023-06-29
  • C语言实现销售管理系统课程设计
    本文实例为大家分享了C语言实现销售管理系统的具体代码,供大家参考,具体内容如下 一.C程序设计课程设计题目简介 该设计要求学生以某公司销售管理业务为背景,设计、开发一套“...
    99+
    2024-04-02
  • 客户管理销售管理系统
    简介 客户管理销售管理系统是一种用于管理和跟踪销售过程的软件工具。它可以帮助企业更好地了解客户需求,提高销售效率,增加销售额,并提供更好的客户服务。详细说明1. 客户管理客户管理是客户管理销售管理系统的核心功能之一。它可以帮助企业更好地了解...
    99+
    2024-01-30
    销售管理系统 客户
  • 钉钉系统能实现销售进销存管理么
    首先,钉钉系统提供了强大的客户关系管理功能。客户关系管理可以帮助企业实现客户信息管理、客户沟通管理、销售过程管理、销售业绩管理等一系列功能,帮助企业更好地了解客户需求,提高销售业绩。 其次,钉钉系统提供了强大的销售管理功能。企业可以通过钉...
    99+
    2023-10-28
    进销存管理 系统
  • 怎么用C语言链表实现销售管理系统
    这篇文章主要介绍“怎么用C语言链表实现销售管理系统”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用C语言链表实现销售管理系统”文章能帮助大家解决问题。源码#include<stdio.h&...
    99+
    2023-06-29
  • 钉钉销售管理系统
    首先,销售管理系统应该具备以下几个功能: 销售数据的采集与管理:企业应该能够自动化地从钉钉上采集销售数据,包括客户信息、销售记录、订单状态、销售机会等等,以便更好地了解销售情况,及时调整销售策略。 销售人员的管理:销售人员是企业的重要一...
    99+
    2023-10-28
    销售管理系统
  • Java+swing+Mysql实现商品销售管理系统
    目录前言数据库的建立Java系统entity包data包 Login包windows包主系统类前言 临近期末做了一个商品销售管理系统,分享下,全部源码在码云,需要自取,博客...
    99+
    2024-04-02
  • 人员管理系统软件销售
    随着企业规模的扩大和业务的发展,人力资源管理成为企业管理中的重要环节。为了提高工作效率和管理水平,许多企业选择使用人员管理系统软件来实现对员工信息、薪资福利、考勤记录等方面的集中管理和数据分析。本文将介绍人员管理系统软件的销售情况,并分析其...
    99+
    2024-01-20
    管理系统 人员 软件
  • 销售管理系统软件有哪些
    标题 销售管理系统软件有哪些 简介销售管理软件是指以销售活动为中心的管理软件,通过运用现代管理思想和先进的信息技术手段,将企业的销售、财务、库存、分销、服务等活动集成到一起,形成一个有机的整体。销售管理软件的核心功能包括销售计划管理、客户关...
    99+
    2024-01-26
    销售管理系统 有哪些 软件
  • java实现鲜花销售系统
    本文实例为大家分享了java实现鲜花销售系统的具体代码,供大家参考,具体内容如下 一、练习目标 1.体会数组的作用 2.找到分层开发的感觉 3.收获分层开发的兴趣 4.作出效果,找到...
    99+
    2024-04-02
  • 钉钉系统有销售了库存管理吗
    首先,钉钉系统的销售管理功能是强大而全面的,包括了销售数据的录入、统计和分析。通过该系统,企业可以实时了解销售数据,掌握销售情况,及时调整销售策略和资源配置,提高销售效率和利润。 其次,钉钉系统提供了多种销售管理功能,如客户管理、销售订单...
    99+
    2023-10-28
    库存管理 系统
  • CRM 管理系统试用:提升企业销售管理效率
    CRM 管理系统是一种用于管理和优化企业与客户之间关系的工具。它可以帮助企业更好地了解客户需求,提高销售效率,提升客户满意度。本文将介绍 CRM 管理系统的试用,以及它如何帮助企业提升销售管理效率。 1. 什么是 CRM 管理系统?CRM ...
    99+
    2024-01-30
    管理系统 销售管理 提升企业
  • 阿里云代理销售系统
    阿里云的代理销售系统是一种高度灵活的云计算解决方案,可以为企业提供多种服务,如数据备份、数据恢复、云计算服务租赁、云安全服务等。通过代理销售系统,企业可以将自己的应用程序和数据部署在阿里云的公共云上,以实现更快、更可靠的业务增长。 阿里云...
    99+
    2023-10-27
    阿里 代理销售 系统
  • 钉钉销售系统
    一、产品简介 钉钉销售系统是一款基于云端的企业销售管理软件,主要功能包括:销售管理、订单管理、客户关系管理、库存管理、财务管理等。它采用了先进的技术手段,实现了销售过程的全面管控和实时追踪,为企业提供了更高效、便捷的销售管理解决方案。 二...
    99+
    2023-10-28
    系统
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作