C#Winform+SqlServer仓库管理系统

自己做的一个仓库管理系统,有管理员和教师两个角色。主要的模块分为登录模块、用户管理模块、货物入库模块、货物出库模块、货物管理模块
系统中还有一些小问题,目前还没有完善,有宝贵的意见欢迎指出
qq+9746821

表结构设计

管理员表

教师表

入库表

出库(待领货物)表

仓库表

货物品种表

我的(已领)货物表

登录模块

namespace StoreManagerSystem
{public partial class Login : Form{public Login(){InitializeComponent();}string cnstr = ConfigurationManager.ConnectionStrings["cnstr"].ConnectionString;string sql = "";//登录验证private void Btn_login_Click(object sender, EventArgs e){try{if (Txt_userName.Text == "" || Txt_passWord.Text == ""){MessageBox.Show("用户名或密码不能为空,请重新输入!", "提示");}else{SqlConnection cn = new SqlConnection(cnstr);cn.Open();string userName = Txt_userName.Text.Trim();string passWord = Txt_passWord.Text.Trim();SqlCommand cmd = new SqlCommand("", cn);// 管理员登录if (Radio_admin.Checked == true){sql = "select count(*) from Table_admin where userName='" + userName + "' and passWord= '" + passWord + "'";cmd.CommandText = sql;int result = (int)cmd.ExecuteScalar();if (result>0){this.Visible = false;Main m1 = new Main();m1.toolStripStatusLabel2.Text = "管理员";m1.toolStripStatusLabel3.Text = Txt_userName.Text;m1.toolStripStatusLabel4.Text = DateTime.Now.ToString();m1.Show();}else{MessageBox.Show("用户名或密码错误", "警告");}}//教师登录else if (Radio_teacher.Checked == true){sql = "select count(*) from Table_teacher where userName='" + userName + "' and passWord= '" + passWord + "'";cmd.CommandText = sql;int result = (int)cmd.ExecuteScalar();if (result > 0){this.Visible = false;Main m1 = new Main();m1.toolStripStatusLabel2.Text = "教师";m1.toolStripStatusLabel3.Text = Txt_userName.Text;m1.toolStripStatusLabel4.Text = DateTime.Now.ToString();m1.Show();m1.Tag = this.FindForm();m1.添加用户ToolStripMenuItem.Visible = false;m1.浏览用户ToolStripMenuItem.Visible = false;m1.入库管理ToolStripMenuItem.Visible = false;m1.出库管理ToolStripMenuItem.Visible = false;m1.库存管理ToolStripMenuItem.Visible = false;}else{MessageBox.Show("用户名或密码错误", "警告");}}cn.Dispose();cmd.Dispose();cn.Close();}}catch (Exception e1){MessageBox.Show(e1.Message,"提示");}}//退出程序private void Btn_exit_Click(object sender, EventArgs e){this.Close();}注册用户验证//public void regist()//{//    string userName = Txt_userName.Text.Trim();//    string passWord = Txt_passWord.Text.Trim();//    try//    {//        if (userName != "" && passWord != "")//        {//            SqlConnection cn = new SqlConnection(cnstr);//            cn.Open();//            string sql = "insert into Table_login values('" + userName + "','" + passWord + "')";//            SqlCommand cmd = new SqlCommand(sql, cn);//            int count = cmd.ExecuteNonQuery();//            if (count > 0)//            {//                MessageBox.Show("注册成功!", "提示");//                resetTxt();//            }//            else//                MessageBox.Show("注册失败", "提示");//            cn.Dispose();//        }//        else//        {//            MessageBox.Show("用户名不能为空,且两次密码输入必须一致!", "提示");//        }//    }//    catch (Exception e1)//    {//        MessageBox.Show(e1.Message, "提示");//    }//}注册的数据库操作//private void Btn_register_Click(object sender, EventArgs e)//{//    string userName = Txt_userName.Text.Trim();//    SqlConnection cn = new SqlConnection(cnstr);//    cn.Open();//    string sql = "select count(*) from Table_login where userName='" + userName + "'";//    SqlCommand cmd = new SqlCommand(sql, cn);//    int count = (int)cmd.ExecuteScalar();//    if (count > 0)//    {//        MessageBox.Show("注册失败,该用户已存在!", "提示");//    }//    else//    {//        regist();//    }//    cn.Dispose();//    cn.Close();//}重置用户名、密码的方法//public void resetTxt()//{//    this.Txt_userName.Text = "";//    this.Txt_passWord.Text = "";//}//登录的用户身份private void Radio_teacher_Click(object sender, EventArgs e){Radio_admin.Checked = false;Radio_teacher.Checked = true;}private void Radio_admin_Click(object sender, EventArgs e){Radio_admin.Checked = true;Radio_teacher.Checked = false;}private void Login_Load(object sender, EventArgs e){Txt_userName.Text = "admin";Txt_passWord.Text = "asdf";}}
}

主界面

namespace StoreManagerSystem
{public partial class Main : Form{public Main(){InitializeComponent();}// 添加用户private void 添加用户ToolStripMenuItem_Click(object sender, EventArgs e){AddUser addUser = new AddUser();addUser.MdiParent = this;addUser.WindowState = FormWindowState.Maximized;addUser.Show();}private void 浏览用户ToolStripMenuItem_Click(object sender, EventArgs e){BrowseUser browseUser = new BrowseUser();browseUser.MdiParent = this;browseUser.WindowState = FormWindowState.Maximized;browseUser.Show();}private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e){ModifyCode modifyCode = new ModifyCode();modifyCode.MdiParent = this;modifyCode.WindowState = FormWindowState.Maximized;modifyCode.label5.Text = toolStripStatusLabel2.Text.Trim();modifyCode.Show();}private void 退出ToolStripMenuItem_Click(object sender, EventArgs e){this.Close();}private void 商品管理ToolStripMenuItem_Click(object sender, EventArgs e){Goods goods = new Goods();goods.MdiParent = this;goods.WindowState = FormWindowState.Maximized;goods.Show();}private void 商品入库ToolStripMenuItem_Click(object sender, EventArgs e){EntryWarehouse entryWarehouse = new EntryWarehouse();entryWarehouse.MdiParent = this;entryWarehouse.WindowState = FormWindowState.Maximized;entryWarehouse.Show();}private void 订单出库ToolStripMenuItem_Click(object sender, EventArgs e){OutWarehouse outWarehouse = new OutWarehouse();outWarehouse.MdiParent = this;outWarehouse.WindowState = FormWindowState.Maximized;outWarehouse.Show();}private void 库存管理ToolStripMenuItem_Click(object sender, EventArgs e){StockManage stockManage = new StockManage();stockManage.MdiParent = this;stockManage.WindowState = FormWindowState.Maximized;stockManage.Show();}private void 待领物资ToolStripMenuItem_Click(object sender, EventArgs e){DrawMaterial drawMaterial = new DrawMaterial();drawMaterial.MdiParent = this;drawMaterial.WindowState = FormWindowState.Maximized;drawMaterial.label11.Text = toolStripStatusLabel3.Text.Trim();drawMaterial.Show();}private void 我的货物ToolStripMenuItem_Click(object sender, EventArgs e){ManageMaterials manageMaterials = new ManageMaterials();manageMaterials.MdiParent = this;manageMaterials.WindowState = FormWindowState.Maximized;manageMaterials.label2.Text = toolStripStatusLabel3.Text.Trim();manageMaterials.Show();}private void 帮助ToolStripMenuItem1_Click(object sender, EventArgs e){Help help = new Help();help.Show();}}
}

用户管理





namespace StoreManagerSystem
{public partial class AddUser : Form{public AddUser(){InitializeComponent();}string cnstr = ConfigurationManager.ConnectionStrings["cnstr"].ConnectionString;string sql = "";// 添加用户操作private void Btn_add_Click(object sender, EventArgs e){try{if (Txt_userName.Text.Trim() == "" || Txt_passWord.Text.Trim() == "" || Txt_check.Text.Trim() == "" ||Radio_admin.Checked == false && Radio_teacher.Checked == false){MessageBox.Show("请输入完整信息!", "警告");}//添加管理员else if (Radio_admin.Checked == true){if (Txt_passWord.Text.Trim() != Txt_check.Text.Trim()){MessageBox.Show("两次密码输入不一致!", "警告");}else{SqlConnection cn = new SqlConnection(cnstr);cn.Open();SqlCommand cmd = new SqlCommand("", cn);sql = "select count(*) from Table_admin where userName = '" + Txt_userName.Text.Trim() + "'";cmd.CommandText = sql;int result = (int)cmd.ExecuteScalar();if (result == 0){sql = "insert into Table_admin values('" + Txt_userName.Text.Trim() + "','" + Txt_passWord.Text.Trim() + "')";cmd.CommandText = sql;int m = (int)cmd.ExecuteNonQuery();if (m > 0){MessageBox.Show("添加管理员成功!", "提示");this.Close();}else{MessageBox.Show("添加管理员失败!", "提示");}}else{MessageBox.Show("管理员" + Txt_userName.Text.Trim() + "已经存在!", "提示");Txt_check.Text = "";Txt_passWord.Text = "";}}}//添加教师else if (Radio_teacher.Checked == true){if (Txt_passWord.Text.Trim() != Txt_check.Text.Trim()){MessageBox.Show("两次密码输入不一致!", "警告");}else{SqlConnection cn = new SqlConnection(cnstr);cn.Open();SqlCommand cmd = new SqlCommand("", cn);sql = "select count(*) from Table_teacher where userName = '" + Txt_userName.Text.Trim() + "'";cmd.CommandText = sql;int result = (int)cmd.ExecuteScalar();if (result == 0){sql = "insert into Table_teacher values('" + Txt_userName.Text.Trim() + "','" + Txt_passWord.Text.Trim() + "')";cmd.CommandText = sql;int m = (int)cmd.ExecuteNonQuery();if (m > 0){MessageBox.Show("添加教师成功!", "提示");Txt_userName.Text = "";Txt_passWord.Text = "";Txt_check.Text = "";}else{MessageBox.Show("添加教师失败!", "提示");}}else{MessageBox.Show("教师" + Txt_userName.Text.Trim() + "已经存在!", "提示");Txt_check.Text = "";Txt_passWord.Text = "";}}}}catch (Exception e1){MessageBox.Show(e1.Message, "提示");}}// 切换角色private void Radio_teacher_Click(object sender, EventArgs e){Radio_admin.Checked = false;Radio_teacher.Checked = true;}private void Radio_admin_Click(object sender, EventArgs e){Radio_admin.Checked = true;Radio_teacher.Checked = false;}// 退出添加用户窗口private void Btn_exit_Click(object sender, EventArgs e){this.Hide();}}
}
namespace StoreManagerSystem
{public partial class ModifyCode : Form{public ModifyCode(){InitializeComponent();}string cnstr = ConfigurationManager.ConnectionStrings["cnstr"].ConnectionString;private void Btn_confirm_Click(object sender, EventArgs e){if (Txt_userName.Text.Trim() == "" || Txt_passWord.Text.Trim() == "" || Txt_newCode.Text.Trim() == "" ||Txt_checkCode.Text.Trim() == ""){MessageBox.Show("请填写完整!", "提示");}else{SqlConnection cn = new SqlConnection(cnstr);SqlCommand cmd = new SqlCommand("", cn);cn.Open();string sql1 = "select count(*) from Table_admin where userName='" + Txt_userName.Text.Trim() + "'and passWord='" + Txt_passWord.Text.Trim() + "'";string sql2 = "select count(*) from Table_teacher where userName='" + Txt_userName.Text.Trim() + "'and passWord='" + Txt_passWord.Text.Trim() + "'";if(label5.Text.Trim()=="管理员"){cmd.CommandText = sql1;}else if(label5.Text.Trim()=="教师"){cmd.CommandText = sql2;}int result = (int)cmd.ExecuteScalar();if (result > 0){if (Txt_newCode.Text.Trim() != Txt_checkCode.Text.Trim()){MessageBox.Show("两次密码输入不一致,请重新输入!", "提示");}else{sql1 = "update Table_admin set passWord='" + Txt_newCode.Text.Trim() + "' where userName='" + Txt_userName.Text.Trim() + "'";sql2 = "update Table_teacher set  passWord='" + Txt_newCode.Text.Trim() + "' where userName='" + Txt_userName.Text.Trim() + "'";if (label5.Text.Trim() == "管理员") cmd.CommandText = sql1;else if (label5.Text.Trim() == "教师") cmd.CommandText = sql2;result = (int)cmd.ExecuteNonQuery();if (result > 0){MessageBox.Show("修改密码成功,请重新登录!", "提示");this.Close();Application.Exit();}else{MessageBox.Show("修改密码失败!", "提示");}}}else{MessageBox.Show("旧密码错误,请重新输入!", "提示");}}}private void Btn_exit_Click(object sender, EventArgs e){this.Close();}}
}
namespace StoreManagerSystem
{public partial class BrowseUser : Form{public BrowseUser(){InitializeComponent();}string cnstr = ConfigurationManager.ConnectionStrings["cnstr"].ConnectionString;string sql = "";// 用户信息添加private void Btn_adminAdd_Click(object sender, EventArgs e){AddUser addUser = new AddUser();addUser.Show();this.Close();}// 浏览用户窗体加载事件private void BrowseUser_Load(object sender, EventArgs e){groupBox1.Text = comboBox1.Text.Trim()+"信息";Refresh();}// 用户信息删除private void Btn_adminDelete_Click(object sender, EventArgs e){SqlConnection cn = new SqlConnection(cnstr);if (dataGridView1.CurrentRow.Index >= 0 && dataGridView1.DataSource != null &&dataGridView1.CurrentCell != null){cn.Open();if(comboBox1.SelectedIndex==0)sql = "delete from Table_admin where userName='" + dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim() + "'";elsesql = "delete from Table_teacher where userName='" + dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim() + "'";SqlCommand cmd = new SqlCommand(sql, cn);cmd.CommandText = sql;int m = (int)cmd.ExecuteNonQuery();if (m > 0){MessageBox.Show("删除 '" + dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim() + "' 成功", "提示");Refresh();}else{MessageBox.Show("删除失败!", "提示");}cn.Close();}else { return; }}// 更新信息public override void Refresh(){SqlConnection cn = new SqlConnection(cnstr);cn.Open();if(comboBox1.SelectedIndex==0)sql = "select userName as 用户名,passWord as 密码 from Table_admin";elsesql = "select userName as 用户名,passWord as 密码 from Table_teacher";SqlDataAdapter adp = new SqlDataAdapter(sql, cn);DataSet ds = new DataSet();adp.Fill(ds, "Table");dataGridView1.DataSource = ds.Tables["Table"].DefaultView;cn.Close();}private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){Refresh();}//退出当前窗口private void Btn_exit_Click(object sender, EventArgs e){this.Close();}}
}

入库管理





namespace StoreManagerSystem
{public partial class Goods : Form{public Goods(){InitializeComponent();}string cnstr = ConfigurationManager.ConnectionStrings["cnstr"].ConnectionString;string sql = "";DataSet ds;//商品窗口加载 显示商品列表private void Commodity_Load(object sender, EventArgs e){SqlConnection cn = new SqlConnection(cnstr);cn.Open();sql = "select goodsId as 商品编号,goodsName as 商品名称,goodsTime as 商品录入时间 from Table_goods";SqlDataAdapter adp = new SqlDataAdapter(sql,cn);DataSet ds = new DataSet();ds.Clear();adp.Fill(ds,"goods");dataGridView1.DataSource = ds.Tables["goods"].DefaultView;cn.Dispose();ds.Dispose();cn.Close();}AddGoods addGoods;private void Btn_add_Click(object sender, EventArgs e){addGoods = new AddGoods();addGoods.ShowDialog();Refresh();}public override void Refresh(){SqlConnection cn = new SqlConnection(cnstr);cn.Open();sql = "select goodsId as 商品编号,goodsName as 商品名称,goodsTime as 商品录入时间 from Table_goods";SqlDataAdapter adp = new SqlDataAdapter(sql, cn);ds = new DataSet();ds.Clear();adp.Fill(ds, "goods");dataGridView1.DataSource = ds.Tables["goods"].DefaultView;cn.Close();}private void Btn_delete_Click(object sender, EventArgs e){SqlConnection cn = new SqlConnection(cnstr);if (dataGridView1.CurrentRow.Index >= 0 && dataGridView1.DataSource != null &&dataGridView1.CurrentCell != null){cn.Open();sql = "delete from Table_goods where goodsId='" + dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim() + "'";SqlCommand cmd = new SqlCommand(sql, cn);cmd.CommandText = sql;int m = (int)cmd.ExecuteNonQuery();if (m > 0){MessageBox.Show("删除 '" + dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[1].Value.ToString().Trim() + "' 成功", "提示");}else{MessageBox.Show("删除失败!", "提示");}cn.Close();Refresh();}else { return; }}private void Btn_modify_Click(object sender, EventArgs e){try{ModifyGoods modifyGoods;if (dataGridView1.DataSource != null || dataGridView1.CurrentCell != null){modifyGoods = new ModifyGoods();modifyGoods.Txt_id.Text = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim();modifyGoods.Txt_name.Text = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[1].Value.ToString().Trim();modifyGoods.Txt_time.Text = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[2].Value.ToString().Trim();modifyGoods.ShowDialog();}else{MessageBox.Show("没有指定类型信息!", "提示");}}catch (Exception e1){MessageBox.Show(e1.Message);}}private void Btn_exit_Click_1(object sender, EventArgs e){this.Close();}}
}
namespace StoreManagerSystem
{public partial class EntryWarehouse : Form{public EntryWarehouse(){InitializeComponent();}static string cnstr = ConfigurationManager.ConnectionStrings["cnstr"].ConnectionString;string sql = "";private void Btn_entry_Click(object sender, EventArgs e){SqlConnection cn = new SqlConnection(cnstr);cn.Open();sql = "insert into Table_EntryHouse values('"+Txt_order.Text.Trim()+"','"+Txt_time.Text.Trim()+"','"+comboBox1_goodsName.Text.Trim()+"','"+comboBox2_goodsHouse.Text.Trim()+"','"+Txt_price.Text.Trim()+"','"+Txt_num.Text.Trim()+"','"+Txt_total.Text.Trim()+"','"+Txt_handle.Text.Trim()+"','"+Txt_remark.Text.Trim()+"')";SqlCommand cmd = new SqlCommand(sql,cn);int result = cmd.ExecuteNonQuery();if (result > 0){MessageBox.Show("添加成功", "提示");this.Close();}else{MessageBox.Show("添加失败", "提示");}cn.Close();}//获取商品名称、仓库名称private void EntryWarehouse_Load(object sender, EventArgs e){Random r1 = new Random(100);Txt_order.Text = "EHDD2021" + r1.Next(2568);SqlConnection cn = new SqlConnection(cnstr);cn.Open();int flag = 0;SqlCommand cmd = new SqlCommand("select distinct goodsName from Table_goods", cn);SqlDataReader dr = cmd.ExecuteReader();while (dr.Read()){if (++flag == 1) { comboBox1_goodsName.Text = dr["goodsName"].ToString(); }comboBox1_goodsName.Items.Add(dr["goodsName"].ToString());}flag = 0;cmd.Dispose();dr.Close();SqlCommand cmd1 = new SqlCommand("select distinct houseName from Table_warehouse", cn);SqlDataReader dr1 = cmd1.ExecuteReader();while (dr1.Read()){if (++flag == 1) { comboBox2_goodsHouse.Text = dr1["houseName"].ToString(); }comboBox2_goodsHouse.Items.Add(dr1["houseName"].ToString());}cmd1.Dispose();dr1.Close();cn.Close();}private void Btn_exit_Click(object sender, EventArgs e){this.Close();}}
}

仓库管理





namespace StoreManagerSystem
{public partial class StockManage : Form{public StockManage(){InitializeComponent();}static string cnstr = ConfigurationManager.ConnectionStrings["cnstr"].ConnectionString;string sql = "";static int flag = 0;DataSet ds;//库存窗体加载 显示库存列表private void StockManage_Load(object sender, EventArgs e){SqlConnection cn = new SqlConnection(cnstr);cn.Open();sql = "select goodsOrder as 入库单号,goodsTime as 入库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_EntryHouse";SqlCommand cmd = new SqlCommand(sql,cn);SqlDataAdapter adp = new SqlDataAdapter(sql, cn);ds = new DataSet();adp.Fill(ds,"EntryHouse");dataGridView1.DataSource = ds.Tables["EntryHouse"].DefaultView;cmd.Dispose();cn.Close();}//根据条件查询库存private void Btn_query_Click(object sender, EventArgs e){SqlConnection cn = new SqlConnection(cnstr);cn.Open();string str = Txt_query.Text.Trim();switch (flag){case 0: sql = "select goodsOrder as 入库单号,goodsTime as 入库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_EntryHouse where goodsOrder='" + str + "'"; break;case 1: sql = "select goodsOrder as 入库单号,goodsTime as 入库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_EntryHouse where goodsTime='" + str + "'"; break;case 2: sql = "select goodsOrder as 入库单号,goodsTime as 入库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_EntryHouse where goodsName='" + str + "'"; break;case 3: sql = "select goodsOrder as 入库单号,goodsTime as 入库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_EntryHouse where goodsHouse='" + str + "'"; break;case 4: sql = "select goodsOrder as 入库单号,goodsTime as 入库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_EntryHouse where goodsHandle='" + str + "'"; break;}SqlCommand cmd = new SqlCommand(sql,cn);SqlDataAdapter adp = new SqlDataAdapter(sql, cn);ds = new DataSet();ds.Clear();adp.Fill(ds, "EntryHouse");dataGridView1.DataSource = ds.Tables["EntryHouse"].DefaultView;cmd.Dispose();cn.Close();}private void ComboBox_query_SelectedIndexChanged(object sender, EventArgs e){flag = ComboBox_query.SelectedIndex;}private void Btn_exit_Click(object sender, EventArgs e){this.Close();}}
}
namespace StoreManagerSystem
{public partial class DrawMaterial : Form{public DrawMaterial(){InitializeComponent();}static string cnstr = ConfigurationManager.ConnectionStrings["cnstr"].ConnectionString;string sql = "";static int flag = 0;DataSet ds,ds1;private void DrawMaterial_Load(object sender, EventArgs e){Random rd = new Random();Txt_drawOrder.Text = "QHDH2021" + rd.Next(2651);Txt_drawHandle.Text = label11.Text.Trim();SqlConnection cn = new SqlConnection(cnstr);cn.Open();sql = "select goodsOrder as 出库单号,goodsTime as 出库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_materials";SqlDataAdapter adp = new SqlDataAdapter(sql, cn);ds = new DataSet();adp.Fill(ds, "Table_materials");dataGridView1.DataSource = ds.Tables["Table_materials"].DefaultView;//SqlCommand cmd1 = new SqlCommand("select distinct from Table_materials",cn);sql = "select distinct goodsName from Table_materials";SqlDataAdapter adp1 = new SqlDataAdapter(sql,cn);ds1 = new DataSet();adp1.Fill(ds1);DataTable table1 = ds1.Tables[0];this.ComboBox_collect.Items.Clear();for (int i = 0; i < table1.Rows.Count; i++){if (i == 0) ComboBox_collect.Text = table1.Rows[i][0].ToString().Trim();this.ComboBox_collect.Items.Add(table1.Rows[i][0].ToString().Trim());}sql = "select goodsNum from Table_materials where goodsName='" + ComboBox_collect.Text.Trim() + "'";SqlCommand cmd = new SqlCommand(sql, cn);int result = (int)cmd.ExecuteScalar();Txt_remainder.Text = result.ToString();cmd.Dispose();cn.Close();}// 根据条件查询代领物料private void Btn_query_Click(object sender, EventArgs e){SqlConnection cn = new SqlConnection(cnstr);cn.Open();string str = Txt_query.Text.Trim();switch (flag){case 0: sql = "select goodsOrder as 出库单号,goodsTime as 出库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_materials where goodsOrder='" + str + "'"; break;case 1: sql = "select goodsOrder as 出库单号,goodsTime as 出库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_materials where goodsTime='" + str + "'"; break;case 2: sql = "select goodsOrder as 出库单号,goodsTime as 出库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_materials where goodsName='" + str + "'"; break;case 3: sql = "select goodsOrder as 出库单号,goodsTime as 出库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_materials where goodsHouse='" + str + "'"; break;case 4: sql = "select goodsOrder as 出库单号,goodsTime as 出库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_materials where goodsHandle='" + str + "'"; break;}SqlDataAdapter adp = new SqlDataAdapter(sql, cn);ds = new DataSet();ds.Clear();adp.Fill(ds, "Materials");dataGridView1.DataSource = ds.Tables["Materials"].DefaultView;cn.Close();}private void ComboBox_query_SelectedIndexChanged(object sender, EventArgs e){flag = ComboBox_query.SelectedIndex;}// 领取货物private void Btn_collect_Click(object sender, EventArgs e){try{SqlConnection cn = new SqlConnection(cnstr);cn.Open();sql = "select count(*) from Table_materials where goodsName='"+ComboBox_collect.Text.Trim()+"'";if (Convert.ToInt32(Txt_num.Text.Trim()) == 0 || Txt_num.Text.Trim() == ""){MessageBox.Show("领取的数量不能为0且不能为空!", "提示");}else if (Convert.ToInt32(Txt_remainder.Text.Trim()) > Convert.ToInt32(Txt_num.Text.Trim())){sql = "insert into Table_myMaterials values('" + Txt_drawOrder.Text.Trim() + "','"+Txt_drawTime.Text.Trim()+"','"+ComboBox_collect.Text.Trim()+"','"+Txt_price.Text.Trim()+"','"+Txt_num.Text.Trim()+"','"+Txt_totalPrice.Text.Trim()+"','"+Txt_drawHandle.Text.Trim()+"','"+Txt_remark.Text.Trim()+"')";SqlCommand cmd = new SqlCommand(sql, cn);int result = (int)cmd.ExecuteNonQuery();if (result > 0){MessageBox.Show("领取货物成功", "提示");sql = "update Table_Materials set goodsNum='" + (Convert.ToInt32(Txt_remainder.Text.Trim()) - Convert.ToInt32(Txt_num.Text.Trim())) + "'";SqlCommand cmd2 = new SqlCommand(sql, cn);cmd2.ExecuteScalar();Refresh();Random rd = new Random();this.Close();}else{MessageBox.Show("领取货物失败", "提示");}}else{MessageBox.Show("领取数量不能超出库存货物数量!", "提示");}}catch (Exception e1){MessageBox.Show(e1.Message);}}// 退出取货private void Btn_exit_Click(object sender, EventArgs e){this.Close();}private void Btn_exit01_Click(object sender, EventArgs e){this.Close();}private void ComboBox_collect_SelectedValueChanged(object sender, EventArgs e){SqlConnection cn = new SqlConnection(cnstr);cn.Open();sql = "select goodsNum from Table_materials where goodsName='" + ComboBox_collect.Text.Trim() + "'";SqlCommand cmd = new SqlCommand(sql, cn);int result = (int)cmd.ExecuteScalar();Txt_remainder.Text = result.ToString();cmd.Dispose();cn.Close();}// 更新待取货物信息public override void Refresh(){SqlConnection cn = new SqlConnection(cnstr);cn.Open();sql = "select goodsOrder as 出库单号,goodsTime as 出库时间,goodsName as 商品名称,goodsHouse as 仓库名称,goodsPrice as 商品价格,goodsNum as 商品数量,goodsTotal as 商品总价,goodsHandle as 经办人,goodsRemark as 备注 from Table_materials";SqlDataAdapter adp = new SqlDataAdapter(sql, cn);ds = new DataSet();ds.Clear();adp.Fill(ds, "Table_materials");dataGridView1.DataSource = ds.Tables["Table_materials"].DefaultView;cn.Close();}}
}

我的(已领)货物

namespace StoreManagerSystem
{public partial class ManageMaterials : Form{public ManageMaterials(){InitializeComponent();}static string cnstr = ConfigurationManager.ConnectionStrings["cnstr"].ConnectionString;string sql = "";static int flag = 0;DataSet ds;private void ManageMaterials_Load(object sender, EventArgs e){SqlConnection cn = new SqlConnection(cnstr);cn.Open();sql = "select drawOrder as 取货单号,drawTime as 取货时间,goodsName as 商品名称,goodsPrice as 商品价格,drawNum as 商品数量,goodsTotal as 商品总价,drawHandle as 取货人,drawRemark as 备注 from Table_myMaterials where drawHandle='" + label2.Text.Trim() + "'";SqlDataAdapter adp = new SqlDataAdapter(sql, cn);ds = new DataSet();adp.Fill(ds, "Table_myMaterials");dataGridView1.DataSource = ds.Tables["Table_myMaterials"].DefaultView;cn.Close();}private void Btn_exit_Click(object sender, EventArgs e){this.Close();}private void Btn_query_Click(object sender, EventArgs e){try{SqlConnection cn = new SqlConnection(cnstr);cn.Open();string str = Txt_query.Text.Trim();switch (flag){case 0: sql = "select drawOrder as 取货单号,drawTime as 取货时间,goodsName as 商品名称,goodsPrice as 商品价格,drawNum as 商品数量,goodsTotal as 商品总价,drawHandle as 取货人,drawRemark as 备注 from Table_myMaterials where drawOrder='" + str + "' and drawHandle='" + label2.Text.Trim() + "' "; break;case 1: sql = "select drawOrder as 取货单号,drawTime as 取货时间,goodsName as 商品名称,goodsPrice as 商品价格,drawNum as 商品数量,goodsTotal as 商品总价,drawHandle as 取货人,drawRemark as 备注 from Table_myMaterials where drawTime='" + str + "' and drawHandle='" + label2.Text.Trim() + "'"; break;case 2: sql = "select drawOrder as 取货单号,drawTime as 取货时间,goodsName as 商品名称,goodsPrice as 商品价格,drawNum as 商品数量,goodsTotal as 商品总价,drawHandle as 取货人,drawRemark as 备注 from Table_myMaterials where goodsName='" + str + "' and drawHandle='" + label2.Text.Trim() + "'"; break;case 3: sql = "select drawOrder as 取货单号,drawTime as 取货时间,goodsName as 商品名称,,goodsPrice as 商品价格,drawNum as 商品数量,goodsTotal as 商品总价,drawHandle as 取货人,drawRemark as 备注 from Table_myMaterials where drawHandle='" + str + "' and drawHandle='" + label2.Text.Trim() + "'"; break;}SqlDataAdapter adp = new SqlDataAdapter(sql, cn);ds = new DataSet();ds.Clear();adp.Fill(ds, "Table_myMaterials");dataGridView1.DataSource = ds.Tables["Table_myMaterials"].DefaultView;cn.Close();}catch (Exception e1){MessageBox.Show(e1.Message);}}private void ComboBox_query_SelectedIndexChanged(object sender, EventArgs e){flag = ComboBox_query.SelectedIndex;}}
}

出库管理

namespace StoreManagerSystem
{public partial class OutWarehouse : Form{public OutWarehouse(){InitializeComponent();}static string cnstr = ConfigurationManager.ConnectionStrings["cnstr"].ConnectionString;string sql = "";private void Btn_out_Click(object sender, EventArgs e){SqlConnection cn = new SqlConnection(cnstr);cn.Open();int outGoodsNum = Convert.ToInt32(Txt_num.Text.Trim());sql = "select AVG(goodsNum) from Table_EntryHouse where goodsName='"+comboBox1_goodsName.Text.Trim()+"'";SqlCommand cmd = new SqlCommand(sql, cn);int result = (int)cmd.ExecuteScalar();if (result < outGoodsNum){MessageBox.Show("出库失败,出库货物超出库存量!", "提示");}else{SqlCommand cmd1 = new SqlCommand("insert into Table_materials values('" + Txt_order.Text.Trim() + "','"+Txt_time.Text.Trim()+"','"+comboBox1_goodsName.Text.Trim()+"','"+Txt_goodsHouse.Text.Trim()+"','"+Txt_price.Text.Trim()+"','"+result+"','"+Txt_total.Text.Trim()+"','"+Txt_handle.Text.Trim()+"','"+Txt_remark.Text.Trim()+"')", cn);int m = cmd1.ExecuteNonQuery();if (m > 0){MessageBox.Show("出库成功!", "提示");SqlCommand cmd2 = new SqlCommand("select AVG(goodsPrice) from Table_EntryHouse where goodsName='"+comboBox1_goodsName.Text.Trim()+"'",cn);int price = (int)cmd2.ExecuteScalar();SqlCommand cmd3 = new SqlCommand("update Table_EntryHouse set goodsNum='" + (result - Convert.ToInt32(Txt_num.Text.Trim())) + "', goodsTotal='" + ((result - Convert.ToInt32(Txt_num.Text.Trim()))*price) + "' where goodsName='" + comboBox1_goodsName.Text.Trim() + "'", cn);cmd3.ExecuteNonQuery();if ((result - Convert.ToInt32(Txt_num.Text.Trim())) == 0){SqlCommand cmd4 = new SqlCommand("delete from Table_EntryHouse where goodsName='"+comboBox1_goodsName.Text.Trim()+"'", cn);cmd4.ExecuteNonQuery();}this.Close();}else{MessageBox.Show("出库失败!", "提示");}}}// 出库窗体加载private void OutWarehouse_Load(object sender, EventArgs e){Random r1 = new Random();Txt_order.Text = "EHCK2021" + r1.Next(2651);SqlConnection cn = new SqlConnection(cnstr);cn.Open();int flag = 0;SqlCommand cmd = new SqlCommand("select distinct goodsName from Table_EntryHouse", cn);SqlDataReader dr = cmd.ExecuteReader();while (dr.Read()){if (++flag == 1) { comboBox1_goodsName.Text = dr["goodsName"].ToString(); }comboBox1_goodsName.Items.Add(dr["goodsName"].ToString());}flag = 0;cmd.Dispose();dr.Close();SqlCommand cmd1 = new SqlCommand("select goodsHouse from Table_EntryHouse where goodsName='"+comboBox1_goodsName.Text.Trim()+"'", cn);string result = (string)cmd1.ExecuteScalar();Txt_goodsHouse.Text = result;cmd1.Dispose();cn.Close();}//选择商品改变对应仓库private void comboBox1_goodsName_SelectedValueChanged(object sender, EventArgs e){SqlConnection cn = new SqlConnection(cnstr);cn.Open();SqlCommand cmd1 = new SqlCommand("select goodsHouse from Table_EntryHouse where goodsName='" + comboBox1_goodsName.Text.Trim() + "'", cn);string result = (string)cmd1.ExecuteScalar();Txt_goodsHouse.Text = result;cmd1.Dispose();cn.Close();}private void Btn_exit_Click(object sender, EventArgs e){this.Close();}}
}

C#Winform+SqlServer仓库管理系统相关推荐

  1. c winform mysql_c#winform开发仓库管理系统,vs2010,mysql数据库

    [实例简介] 用vs2010开发的简单的winform仓库管理系统,数据库用的mysql,源码包含数据库一并传上去,绝对可以运行- [实例截图] [核心代码] 入库出库管理系统 ├── menages ...

  2. 基于C#+WinForm+SQL Server2016+Visual Studion2019的仓库管理系统

    这个市在学校做的仓库管理系统采用的是SQL Server2016的数据库包括的功能有系统管理,物资管理,入库管理,出库管理,库存管理等信息功能,下面我演示一下具体的功能信息,主要的功能信息有. 系统管 ...

  3. 开源免费WMS仓库管理系统

    开源免费WMS仓库管理系统 net core 基于.Net Core 2.2~3.1开发: 支持sqlserver.mysql数据库,其他数据库未测试,脚本在docs/sql: 前端采用 vue.po ...

  4. java毕业设计东方水处理厂原材料仓库管理系统Mybatis+系统+数据库+调试部署

    java毕业设计东方水处理厂原材料仓库管理系统Mybatis+系统+数据库+调试部署 java毕业设计东方水处理厂原材料仓库管理系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B ...

  5. 盘点3个.Net开发的WMS仓库管理系统

    更多开源项目请查看:一个专注推荐.Net开源项目的榜单 仓库管理系统在企业中,重要性越来越高,不仅可以提高效率,还能降低企业的压力,企业通过协调和优化资源使用和物料流动,能极大程度地提升了管理效率,节 ...

  6. 汇总WMS-开源仓库管理系统

    文章目录 OpenWMS GreaterWMS 模块功能 KopSoftWms 功能模块: 技术栈: OpenBoxes 依赖项 OpenWMS OpenWMS.org 是一个用于构建现代仓库管理系统 ...

  7. 计算机毕业设计ssmEE的仓库管理系统93c6b系统+程序+源码+lw+远程部署

    计算机毕业设计ssmEE的仓库管理系统93c6b系统+程序+源码+lw+远程部署 计算机毕业设计ssmEE的仓库管理系统93c6b系统+程序+源码+lw+远程部署 本源码技术栈: 项目架构:B/S架构 ...

  8. c语言仓库管理系统链表,仓库管理系统 C语言 C++ 数据结构 链表 课程设计

    仓库管理系统 C语言 C++ 数据结构 链表 课程设计 #include #include #include #include #define MAX 64 typedef struct node{ ...

  9. 甲骨文宣布供应链管理云平台支持LogFire仓库管理系统

    本文讲的是 :甲骨文宣布供应链管理云平台支持LogFire仓库管理系统    ,[IT168 资讯]甲骨文发布了一系列对其供应链管理产品的更新,并表示,云平台现在支持去年收购LogFire的仓库管理系 ...

最新文章

  1. JavaScript 面试中常见算法问题详解
  2. 月薪6万的腾讯产品经理是什么水平?
  3. 数据驱动才是零售企业转型的核心!
  4. php times33,PHP Hash算法:Times33算法代码实例
  5. 数字电路:常见的锁存器浅析
  6. Python设置excel单元格格式
  7. 木门企业最典型的十八个问题
  8. Windows浏览器无法联网,提示代理服务器没有响应
  9. 如何快速实现抖音分享与第三方登录?
  10. 【Python + selenium】在浏览器打开新页签,打开方式
  11. 论文《ImageNet Classification with Deep Convolutional Neural Networks》阅读及AlexNet的Tensorflow2复现
  12. Axure导入元件库的两种方式-附完整元件库
  13. 关于java的项目部署以及需要注意的地方
  14. php版本纯静态什么意思,什么是php数据库?与纯静态空间有什么关系?
  15. 基于Spring MVC + Spring + MyBatis的【超市会员管理系统】
  16. 甲骨文面试经历 Oracle Interview
  17. 【教程】Matrikon OPC使用教程连载(二)
  18. python程序是由一系列代码组成的_0基础7日入门Python
  19. 上万数据批量新增/修改优化经验
  20. python制作标书_Python爬取比比网中标标书并保存成PDF格式

热门文章

  1. 高校房产管理的现状及发展的必要性探讨数图互通
  2. 电子货架标签应用浅析(ESL)
  3. cmu的计算机专业项目有哪些,CMU的ECE「卡内基梅隆大学电气与计算机工程系」
  4. 正确串/并联锂电池(转)
  5. matlab水力学工具箱,水工设计工具箱免费版
  6. Jetpack-Navigation使用第一部分
  7. 运维工程师必须掌握的shell技术实战内容
  8. HMM算法概述(总结)
  9. JS Worker多线程
  10. ubuntu faceswap