精华内容
下载资源
问答
  • 商品销售管理系统

    千次阅读 多人点赞 2019-11-22 13:18:26
    用JSP servlet和jquery以及SQLServer数据库实现商品销售管理系统。 功能详解: 1.查询商品 2.添加商品 3.删除商品 4.添加销售记录 5.查看销售记录 效果演示: 进入界面 商品显示页面 删除提示 销售记录查询 商品...

    用JSP servlet和jquery以及SQLServer数据库实现商品销售管理系统。

    功能详解:
    1.查询商品
    2.添加商品
    3.删除商品
    4.添加销售记录
    5.查看销售记录

    效果演示:

    进入界面
    在这里插入图片描述
    商品显示页面
    在这里插入图片描述
    删除提示
    在这里插入图片描述
    销售记录查询
    在这里插入图片描述

    商品销售系统需要SQLServer数据库和程序两大部分

    一:设计并实现数据库

    在这里插入图片描述

    二:程序设计

    在程序正式开始之前先看一下目录结构吧
    在这里插入图片描述
    ==特别注意:==引入sqljdbc4.jar和jquery-3.3.1.js架包

    程序演示

    bean包

    Product.java

    package com.hnpi.bean;
    
    public class Product {
    	private int ProductID;
    	private String ProductName;
    	private String IsUp;
    	private int UnitPrice;
    	private String Remark;
    	public int getProductID() {
    		return ProductID;
    	}
    	public void setProductID(int productID) {
    		ProductID = productID;
    	}
    	public String getProductName() {
    		return ProductName;
    	}
    	public void setProductName(String productName) {
    		ProductName = productName;
    	}
    	public String getIsUp() {
    		return IsUp;
    	}
    	public void setIsUp(String isUp) {
    		IsUp = isUp;
    	}
    	public int getUnitPrice() {
    		return UnitPrice;
    	}
    	public void setUnitPrice(int unitPrice) {
    		UnitPrice = unitPrice;
    	}
    	public String getRemark() {
    		return Remark;
    	}
    	public void setRemark(String remark) {
    		Remark = remark;
    	}
    	public Product() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    	public Product(int productID, String productName, String isUp,
    			int unitPrice, String remark) {
    		super();
    		ProductID = productID;
    		ProductName = productName;
    		IsUp = isUp;
    		UnitPrice = unitPrice;
    		Remark = remark;
    	}
    	
    	
    	
    	
    
    }
    
    

    Sale.java

    package com.hnpi.bean;
    
    import java.util.Date;
    
    public class Sale {
    	private int SaleID;
    	private String SalePerson;
    	private int Amount;
    	private Date SaleDate;
    	private int ProductID;
    	public int getSaleID() {
    		return SaleID;
    	}
    	public void setSaleID(int saleID) {
    		SaleID = saleID;
    	}
    	public String getSalePerson() {
    		return SalePerson;
    	}
    	public void setSalePerson(String salePerson) {
    		SalePerson = salePerson;
    	}
    	public int getAmount() {
    		return Amount;
    	}
    	public void setAmount(int amount) {
    		Amount = amount;
    	}
    	public Date getSaleDate() {
    		return SaleDate;
    	}
    	public void setSaleDate(Date saleDate) {
    		SaleDate = saleDate;
    	}
    	public int getProductID() {
    		return ProductID;
    	}
    	public void setProductID(int productID) {
    		ProductID = productID;
    	}
    	public Sale() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    	public Sale(int saleID, String salePerson, int amount, Date saleDate,
    			int productID) {
    		super();
    		SaleID = saleID;
    		SalePerson = salePerson;
    		Amount = amount;
    		SaleDate = saleDate;
    		ProductID = productID;
    	}
    	
    	
    	
    	
    
    }
    
    

    servlet包

    AddServlet.java

    package com.hnpi.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.hnpi.bean.Product;
    import com.hnpi.util.DBUtil;
    
    public class AddServlet extends HttpServlet {
    
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		doPost(request, response);
    	}
    
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		
    		String ProductName = request.getParameter("ProductName");
    		String IsUp = request.getParameter("IsUp");
    		String UnitPrice = request.getParameter("UnitPrice");
    		String Remark = request.getParameter("Remark");
    		
    		Connection conn = DBUtil.getConn();
    		PreparedStatement ps = null;
    		String sql = "insert into Product(ProductName, IsUp, UnitPrice, Remark) values(?,?,?,?)";
    		
    		try {
    			ps = conn.prepareStatement(sql);
    			ps.setString(1, ProductName);
    			ps.setString(2, IsUp);
    			ps.setInt(3, Integer.parseInt(UnitPrice));
    			ps.setString(4, Remark);
    			ps.executeUpdate();
    
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DBUtil.closeConn(conn, ps, null);
    		}
    		response.sendRedirect("list");
    	}
    
    }
    
    

    DeleteServlet.java

    package com.hnpi.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.hnpi.util.DBUtil;
    
    public class DeleteServlet extends HttpServlet {
    
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		doPost(request, response);
    	}
    
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		
    		String id = request.getParameter("id");
    		
    		Connection conn = DBUtil.getConn();
    		PreparedStatement ps = null;
    		String sql = "delete from Product where ProductID = ?";
    		
    		try {
    			ps = conn.prepareStatement(sql);
    			ps.setInt(1, Integer.parseInt(id));
    			ps.executeUpdate();
    
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DBUtil.closeConn(conn, ps, null);
    		}
    		response.sendRedirect("list");
    	}
    
    }
    
    

    InsertServlet.java

    package com.hnpi.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import java.sql.Timestamp;
    import java.util.Currency;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.hnpi.util.DBUtil;
    
    public class InsertServlet extends HttpServlet {
    
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		doPost(request, response);
    	}
    
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		
    		String ProductName = request.getParameter("ProductName");
    		String Amount = request.getParameter("Amount");
    		String SalePerson = request.getParameter("SalePerson");
    		
    		Connection conn = DBUtil.getConn();
    		PreparedStatement ps = null;
    		String sql = "insert into Sale(SalePerson, Amount, SaleDate, ProductID) values(?,?,?,?)";
    		
    		try {
    			ps = conn.prepareStatement(sql);
    			ps.setString(1, SalePerson);
    			ps.setInt(2, Integer.parseInt(Amount));
    			ps.setTimestamp(3, new Timestamp(System.currentTimeMillis()));
    			ps.setInt(4, 3);
    			ps.executeUpdate();
    
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DBUtil.closeConn(conn, ps, null);
    		}
    		response.sendRedirect("select");
    	}
    
    }
    
    

    ListChoseServlet

    package com.hnpi.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.hnpi.bean.Product;
    import com.hnpi.util.DBUtil;
    
    public class ListChoseServlet extends HttpServlet {
    
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		doPost(request, response);
    	}
    
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		
    		String ProductName = request.getParameter("ProductName");
    		String Remark = request.getParameter("Remark");
    		
    		Connection conn = DBUtil.getConn();
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    		String sql = "select * from Product where ProductName = ? and Remark = ?";
    		List<Product> products = new ArrayList<Product>();
    		
    		try {
    			ps = conn.prepareStatement(sql);
    			ps.setString(1, ProductName);
    			ps.setString(1, Remark);
    			rs = ps.executeQuery();
    			
    			while(rs.next()){
    				Product product = new Product();
    				product.setProductID(rs.getInt(1));
    				product.setProductName(rs.getString(2));
    				product.setIsUp(rs.getString(3));
    				product.setUnitPrice(rs.getInt(4));
    				product.setRemark(rs.getString(5));
    				products.add(product);
    			}
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DBUtil.closeConn(conn, ps, rs);
    		}
    		HttpSession session = request.getSession();
    		session.setAttribute("productList", products);
    		response.sendRedirect("list.jsp");
    	}
    
    }
    
    

    ListServlet.java

    package com.hnpi.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.hnpi.bean.Product;
    import com.hnpi.util.DBUtil;
    import com.sun.net.httpserver.HttpsServer;
    
    public class ListServlet extends HttpServlet {
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		doPost(request, response);
    	}
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		
    		String ProductName = request.getParameter("ProductName");
    		String Remark = request.getParameter("Remark");
    		
    		Connection conn = DBUtil.getConn();
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    		String sql = "select * from Product";
    		List<Product> products = new ArrayList<Product>();
    		
    		try {
    			ps = conn.prepareStatement(sql);
    
    			rs = ps.executeQuery();
    			
    			while(rs.next()){
    				Product product = new Product();
    				product.setProductID(rs.getInt(1));
    				product.setProductName(rs.getString(2));
    				product.setIsUp(rs.getString(3));
    				product.setUnitPrice(rs.getInt(4));
    				product.setRemark(rs.getString(5));
    				products.add(product);
    			}
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DBUtil.closeConn(conn, ps, rs);
    		}
    		HttpSession session = request.getSession();
    		session.setAttribute("productList", products);
    		response.sendRedirect("list.jsp");
    		
    	}
    
    }
    
    

    SelectServlet.java

    package com.hnpi.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.hnpi.bean.Product;
    import com.hnpi.bean.Sale;
    import com.hnpi.util.DBUtil;
    
    public class SelectServlet extends HttpServlet {
    
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		doPost(request, response);
    	}
    
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		
    		Connection conn = DBUtil.getConn();
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    		String sql = "select * from Sale";
    		List<Sale> sales = new ArrayList<Sale>();
    		
    		try {
    			ps = conn.prepareStatement(sql);
    			rs = ps.executeQuery();
    			
    			while(rs.next()){
    				Sale sale = new Sale();
    				sale.setSaleID(rs.getInt(1));
    				sale.setSalePerson(rs.getString(2));
    				sale.setAmount(rs.getInt(3));
    				sale.setSaleDate(rs.getDate(4));
    				sale.setProductID(rs.getInt(5));
    				sales.add(sale);
    			}
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DBUtil.closeConn(conn, ps, rs);
    		}
    		HttpSession session = request.getSession();
    		session.setAttribute("saleList", sales);
    		response.sendRedirect("select.jsp");
    	}
    
    }
    
    

    util包

    DBUtil.java

    package com.hnpi.util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class DBUtil {
    	
    	public static Connection getConn(){
    		String url = "jdbc:sqlserver://localhost:1433;databaseName=Test";
    		String user = "sa";
    		String pwd = "1";
    		Connection conn = null;
    		
    		try {
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    			conn = DriverManager.getConnection(url, user, pwd);
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return conn;
    	}
    	
    	public static void closeConn(Connection conn, PreparedStatement ps, ResultSet rs){
    		if(conn!=null){
    			try {
    				conn.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		if(ps!=null){
    			try {
    				ps.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		if(rs!=null){
    			try {
    				rs.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    	}
    
    }
    
    

    WEB-INF包

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    	xmlns="http://java.sun.com/xml/ns/javaee" 
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <display-name>Shop</display-name>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>AddServlet</servlet-name>
        <servlet-class>com.hnpi.servlet.AddServlet</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>DeleteServlet</servlet-name>
        <servlet-class>com.hnpi.servlet.DeleteServlet</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>InsertServlet</servlet-name>
        <servlet-class>com.hnpi.servlet.InsertServlet</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>ListChoseServlet</servlet-name>
        <servlet-class>com.hnpi.servlet.ListChoseServlet</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>ListServlet</servlet-name>
        <servlet-class>com.hnpi.servlet.ListServlet</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>SelectServlet</servlet-name>
        <servlet-class>com.hnpi.servlet.SelectServlet</servlet-class>
      </servlet>
    
    
    
      <servlet-mapping>
        <servlet-name>AddServlet</servlet-name>
        <url-pattern>/add</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>DeleteServlet</servlet-name>
        <url-pattern>/del</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>InsertServlet</servlet-name>
        <url-pattern>/insert</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>ListChoseServlet</servlet-name>
        <url-pattern>/listes</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>ListServlet</servlet-name>
        <url-pattern>/list</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>SelectServlet</servlet-name>
        <url-pattern>/select</url-pattern>
      </servlet-mapping>	
      <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    
    

    JSP页面

    index.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
      </head>
      
      <body>
        <ul>
        	<li><a href="index.jsp">系统管理</a></li>
        	<li><a href="list">商品管理</a></li>
        </ul>
      </body>
    </html>
    
    

    list.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@page import="com.hnpi.bean.Product"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'list.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    	<script src="jquery-3.3.1.js"></script>
      </head>
      
      <body>
        <form action="listes" method="post">
        商品名称:<input type="text" name="ProductName">
        商品备注:<input type="text" name="Remark">
        <input type="submit" value="查询">
        </form>
        
        <table>
        	<thead>
        		<tr>
        			<td>编号</td>
        			<td>商品名称</td>
        			<td>是否上架</td>
        			<td>单价</td>
        			<td>备注</td>
        			<td>操作</td>
        		</tr>
        	</thead>
        	<tbody>
        	<%
        		List<Product> products = (ArrayList)session.getAttribute("productList");
        		for(Product product : products){
        		%>
        		<tr>
        			<td><%=product.getProductID() %></td>
        			<td><%=product.getProductName() %></td>
        			<td><%=product.getIsUp() %></td>
        			<td><%=product.getUnitPrice() %></td>
        			<td><%=product.getRemark() %></td>
        			<td><a href="del?id=<%=product.getProductID() %>" class="delete">删除</a></td>
        		</tr>
        		<%
        		}
        	 %>
        	</tbody>
        </table>
        
        <form action="add" method="post">
        商品名称:<input type="text" name="ProductName"/>
        是否上架:<input type="radio" name="IsUp"/>是<input type="radio" name="IsUp"/>否
        单价:<input type="text" name="UnitPrice"/><br/>
        备注:<input type="text" name="Remark"/><br/>
        <input type="submit" value="添加商品" class="add"/>
        </form>
        <button><a href="select">查看销售记录</a></button>
      </body>
      <script>
      	$(function(){
      		$(".add").on("click",function(){
      		alert("添加成功!");
      		});
      		$(".delete").on("click",function(){
      		alert("你确定要删除吗?");
      		});
      	});
      </script>
    </html>
    
    

    select.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@page import="com.hnpi.bean.Sale"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'select.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    	<script src="jquery-3.3.1.js"></script>
      </head>
      
      <body>
        <form action="insert" method="post">
        商品名称:<input type="text" name="SalePerson"/><br/>
        销售数量:<input type="text" name="Amount"/>
        销售员:<input type="text" name="SalePerson"/>
        <input type="submit" value="添加销售" class="add"/>
        </form>
        <table>
        	<thead>
        		<tr>
        			<td>销售员</td>
        			<td>商品名称</td>
        			<td>单价</td>
        			<td>销售数量</td>
        			<td>销售日期</td>
        		</tr>
        	</thead>
        	<tbody>
        	<%
        		List<Sale> sales = (ArrayList)session.getAttribute("saleList");
        		for(Sale sale : sales){
        		%>
        		<tr>
        			<td><%=sale.getSaleID() %></td>
        			<td><%=sale.getSalePerson() %></td>
        			<td><%=sale.getProductID() %></td>
        			<td><%=sale.getAmount() %></td>
        			<td><%=sale.getSaleDate() %></td>
        		</tr>
        		<%
        		}
        		 %>
        	</tbody>
        </table>
      </body>
      <script>
      	$(function(){
      		$(".add").on("click",function(){
      		alert("添加成功");
      		})
      	});
      </script>
    </html>
    
    

    看到这里相信你已经知道此系统的程序原理了,赶快去试试吧.

    扫一扫关注我的公众号获取更多资讯呦!!!
    在这里插入图片描述

    展开全文
  • 基于javaweb,使用三层分层结构,能够实现对商品,用户的一系列增删改查功能。
  • 商品管理系统

    千次阅读 2017-11-22 20:25:37
    $scope.valArr.push("商品不能为空"); return; } if($scope.userName == undefined || $scope.userName == null) { $scope.valArr.push("用户名不能为空"); return; } else if($scope.userName.length ) { $...
    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="lib/js/ionic.bundle.min.js"></script>
        <style type="text/css">
            /*隔行换色*/
            table tr:nth-child(2n) {
                background-color: #CCCCCA;
            }
        </style>
        <script>
            //注意::过滤完后要在查询框单机空格键,不然表格没有内容
            angular.module("myApp", [])
                .controller("OneDeom", function($scope, $filter) {
                    //新增区域默认不显示
                    $scope.showadd = false;
                    //定义数组
                    $scope.datas = [];
                    //通过循环将对象添加进数组
                    for(var i = 1; i < 5; i++) {
                        var data1 = {
                            checked: false,
                            id: i,
                            goodName: "Iphone X" + i,
                            userName: "关羽" + i,
                            phone: "1590141516" + i,
                            price: "22.4" + i,
                            time: date = new Date(),
                            state: "待发货",
                            updata: "修改",
                            delete: "删除"
                        };
                        var data2 = {
                            checked: false,
                            id: 10 + i,
                            goodName: "Iphone X" + i,
                            userName: "关羽" + i,
                            phone: "1590141516" + i,
                            price: "22.4" + i,
                            time: date = new Date(),
                            state: "已发货",
                            updata: "修改",
                            delete: "删除"
                        };
                        //把对象放入数组
                        $scope.datas.push(data1);
                        $scope.datas.push(data2);
    
                    }
                    //添加
                    $scope.add = function() { //点击添加按钮时显示
                        $scope.isShow = true;
                    }
                    //点击保存按钮
                    $scope.save = function() {
                        $scope.tips = false; //控制错误信息是否显示
                        $scope.valArr = []; //定义一个放错误信息的数组
                        if($scope.goodName == undefined || $scope.goodName == null) {
                            $scope.valArr.push("商品不能为空");
                            return;
                        }
                        if($scope.userName == undefined || $scope.userName == null) {
                            $scope.valArr.push("用户名不能为空");
                            return;
                        } else if($scope.userName.length < 3) {
                            $scope.valArr.push("用户名长度要大于3个字符");
                            return;
                        }
                        var s = /^\d+$/;
                        if(!s.test($scope.price)) {
                            $scope.valArr.push("价钱只能是数字");
                            return;
                        }
                        if($scope.valArr.length > 0) {
                            $scope.tips = true;
                        } else {
                            var data2 = {
                                checked: false,
                                id: 100,
                                goodName: $scope.goodName,
                                userName: $scope.userName,
                                phone: "1590141516" + i,
                                price: $scope.price,
                                time: date = new Date(),
                                state: "待发货",
                                updata: "修改",
                                delete: "删除"
                            };
                            $scope.datas.push(data2); //把对象放入数组
                            $scope.isShow = false;
                        }
                    }
                    //删除
                    $scope.del = function(d) { //当前删除行的对象
                        for(var i = 0; i < $scope.datas.length; i++) {
                            if($scope.datas[i].id == d.id) { //查找当前删除的对象在数组中的索引
                                $scope.datas.splice(i, 1);
                            }
                        }
                    }
                    //全选操作
                    $scope.ckAll = function() {
                        var ck = $scope.isck; // 表头中的复选框
                        for(var i = 0; i < $scope.datas.length; i++) {
                            $scope.datas[i].checked = ck;
                        }
                    }
                    //批量删除
                    $scope.delAll = function() {
                        var b = false; //默认没有选中
                        for(var i = 0; i < $scope.datas.length; i++) {
                            if($scope.datas[i].checked == true) { //如果多选框有选中的
                                b = true; //那么批量删除按钮也是选中
                                break;
                            }
                        }
                        //执行删除操作
                        if(b == true) {
                            for(var i = 0; i < $scope.datas.length; i++) {
                                if($scope.datas[i].checked == true) {
                                    $scope.datas.splice(i, 1);
                                    i--; //删除后,下次依然从当前索引开始
                                }
                            }
                        } else {
                            alert("请选择后操作");
                        }
                    }
                    //批量发货
                    $scope.goAll = function() {
                        var b = false; //默认么有选中的
                        for(var i = 0; i < $scope.datas.length; i++) {
                            if($scope.datas[i].checked == true) {
                                b = true;
                                break;
                            }
                        }
                        //执行删除操作
                        if(b == true) {
                            for(var i = 0; i < $scope.datas.length; i++) {
                                if($scope.datas[i].checked == true) {
                                    $scope.datas[i].state = "已发货";
                                }
                            }
                        } else {
                            alert("请选择后操作");
                        }
                    }
                });
        </script>
    </head>
    
    <body ng-app="myApp" ng-controller="OneDeom">
        <input type="button" value="新增" ng-click="add()" />
        <input type="button" value="批量删除" ng-click="delAll()" />
        <input type="button" value="批量发货" ng-click="goAll()" />
        <input ng-model="selUserName" placeholder="根据用户名查询" />
        <!--ng-model查询时就过滤输入的内容查询-->
        <input ng-model="selGoodName" placeholder="根据商品名查询" />
        <select ng-model="orderType">
            <option value="">请选择排序方式</option>
            <option value="price">商品价格升序</option>
            <option value="-price">商品价格降序</option>
            <option value="time">生产日期升序</option>
            <option value="-time">生产日期降序</option>
        </select><br />
        <table border="1px;" style="width: 800px;">
            <thead>
                <tr>
                    <td><input type="checkbox" ng-model="isck" ng-click="ckAll()" /></td>
                    <td>商品名</td>
                    <td>用户名</td>
                    <td>手机号</td>
                    <td>价格</td>
                    <td>生产时间</td>
                    <td>状态</td>
                    <td>操作</td>
                </tr>
            </thead>
            <tbody>
                <tr ng-repeat="data in datas|orderBy:orderType|filter:{'userName':selUserName,goodName:selGoodName}">
                    <td><input type="checkbox" ng-model="data.checked" /></td>
                    <td>{{data.goodName}}</td>
                    <td>{{data.userName}}</td>
                    <td>{{data.phone}}</td>
                    <td>{{data.price|currency:"¥"}}</td>
                    <td>{{data.time|date:"yyyy年MM月dd日 hh时mm分ss秒"}}</td>
                    <td>
                        <span ng-show="data.state=='已发货'">{{data.state}}</span>
                        <span ng-show="data.state=='待发货'"><!--这里的值和上面的不能一样-->
                            <a href="#" ng-click="data.state='已发货'">
                                {{data.state}}
                            </a>
                        </span>
                    </td>
                    <td>
                        <a href="#" ng-hide="data.edit" ng-click="data.edit=true">修改</a>
                        <button ng-show="data.edit==true" ng-click="data.edit=false">保存</button>
                        <a href="#" ng-click="del(data)">{{data.delete}}</a>
                    </td>
    
                </tr>
            </tbody>
        </table>
        <!--增加的-->
        <form ng-show="isShow">
            商品名称:<input ng-model="goodName" /><br /> 用户名称:
            <input ng-model="userName" /><br /> 价钱:
            <input ng-model="price" /><br />
            <div style="width: 200px; background-color: pink;">
                <ul>
                    <!-- 点击保存时,把不合法的信息都放入数组  valArr -->
                    <li ng-repeat="c in valArr ">{{c}}</li>
                </ul>
            </div>
            <input type="button" ng-click="save()" value="保存" />
        </form>
    </body>
    
    </html>
    
    展开全文
  • C语言 --- 商品信息管理系统

    千次阅读 2020-07-28 16:33:26
    C语言 --- 商品信息管理系统要求...3、在当前分类目录下添加新商品目录,或者添加新商品信息。 4、在当前目录下删除某个子商品分类或某个商品信息 5、在当前目录下修改某个商品或分类目录的信息 6、根据某个商品编

    要求

    问题描述
    设计一个简单商品分类管理系统,对商品进行分类管理.
    基本要求
    1、浏览当前商品分类目录的所有内容(子分类和当前目录下的商品)
    2、切换当前分类目录到上一级分类目录或下一级子分类目录(扩展,切换到任何一个目录)或直接切换到根目录
    3、在当前分类目录下添加新商品目录,或者添加新商品信息。
    4、在当前目录下删除某个子商品分类或某个商品信息
    5、在当前目录下修改某个商品或分类目录的信息
    6、根据某个商品编号(或名称)在整个系统中查找某个商品并显示全部信息
    7、设计合适的交互界面
    8、管理系统数据的永久性保存。(选作)
    基本要求
    a) 数据描述:设计合适的数据信息,比如商品,分类目录等等
    b) 设计合适的数据结构组织数据,以及设计算法实现需求

    结构体设计

    树形结构体

    在这里插入图片描述

    代码

    struct list {//商品类别目录
    	int num;//类别编号
    	char name[20];//名称
    	int sum;//类别种数
    	int log;//读入标记
    	struct List* next;
    	struct Node* child;
    };
    
    struct node {//子目录
    	int num;//类别编号
    	char id[20];//商品编号
    	char name[20];//商品或分类的名称
    	double price;//商品价格
    	struct node* next;//用单链表记录当前结点的所有不为空的子结点
    };
    
    

    功能设计

    在这里插入图片描述

    部分源代码

    创建树代码

    struct list* input()  {//获取商品类别目录
    	struct list* head = NULL, * p1, * p2 = NULL;
    	FILE* fp;  //文件指针变量fp
    	logo = 0;//页数重置
    	if ((fp = fopen(filename_list, "a+")) == NULL) {
    		printf("1不能打开该文件!\n");
    		exit(0);
    	}
    	if ((p1 = (struct list*)malloc(sizeof(struct list))) == NULL) {
    		printf("分类1不能成功分配内存储块!");
    		exit(0);
    	}
    	p1->next = NULL;
    	p1->child = NULL;
    	while ((fscanf(fp, "%d %s", &p1->num, p1->name)) != EOF) {//读取文件内容
    		p1->sum = 0;
    		p1->log = ++logo;//页数标记
    		if (head == NULL)head = p1;
    		else p2->next = p1;
    		p2 = p1;
    		if ((p1 = (struct list*)malloc(sizeof(struct list))) == NULL) {
    			printf("分类2不能成功分配内存储块!");
    			exit(0);
    		}
    		p1->next = NULL;
    		p1->child = NULL;//类别下面的商品的链表头
    	}
    	input_Goods(head);//将商品信息添加到商品类别目录中
    	fclose(fp);
    	return head;
    }
    
    void input_Goods(struct list* h) {//从文件获取商品
    	struct list* i = NULL;
    	struct node* head = NULL, * p1, * p2 = NULL;
    	FILE* fp;
    	if ((fp = fopen(filename_goods, "a+")) == NULL) {
    		printf("2不能打开该文件!\n");
    		exit(0);
    	}
    	if ((p1 = (struct node*)malloc(sizeof(struct node))) == NULL) {
    		printf("商品不能成功分配内存储块!");
    		exit(0);
    	}
    	p1->next = NULL;
    	for (i = h; i != NULL; i = i->next) {
    		while ((fscanf(fp, "%d %s %s %lf", &p1->num, &p1->id, p1->name, &p1->price)) != EOF) {
    			if (i->num == p1->num) {
    				i->sum++;
    				if (i->child == NULL)i->child = p1;
    				else p2->next = p1;
    				p2 = p1;
    				if ((p1 = (struct node*)malloc(sizeof(struct node))) == NULL) {
    					printf("商品不能成功分配内存储块!");
    					exit(0);
    				}
    				p1->next = NULL;
    			}
    		} 
    		rewind(fp);
    	}
    	fclose(fp);
    }
    

    循环遍历代码

    //基本所有功能的遍历方法,第一个循环则可以改变类别信息,需要修改商品信息则可以增加第二个循环
     for (i = h; i != NULL; i = i->next) {
    		if (i->num == num) {//先循环找到商品类别
    				for (j = i->child; j != NULL; j = j->next) {
    //输出类别下所有商品
    					printf("%-7d%-8s%-16s%-8.2lf\n", j->num, j->id, j->name, j->price);
    			break;
    		}
    	}
    	for (j = i->child; j != NULL; j = j->next) {//根据需求改变商品
    		if () {
    		}
    		else printf("");
    		k = j;
    	}
    
    

    商品名称查重代码

    //当调用完查重并修改相同的信息后将会递归重新调用这两个函数再次查重
    void check_ALL(struct list* h, struct list* t,int *num,char *name) {
    //检查修改的类别号或名称有无重复
    	struct list* i = NULL;
    //h为商品类别的头指针,t为当前修改的类别的指针
    	int choice;
    	if (num != NULL && name == NULL) {//修改的内容是类别号
    		for (i = h; i != NULL; i = i->next) {
    			if (i->num == *num && i != t ) {//寻找是否有相同类别号的商品类别
    				while (*num == i->num) {//找到则提醒是否修改
    					
    			}
    		}
    	}//修改内容为名称
    	if (num == NULL && name != NULL) {//寻找是否有相同名称的商品类别
    		for (i = h; i != NULL; i = i->next) {
    			if (strcmp(i->name,name) == 0 && i != t) {
    				
    			}
    		}
    	}
    }
    
    
    //类别下的商品的名称查重
    void check_ONE(struct list* t, struct node* m, char* s) {
    //t为当前修改的商品的类别指针,m为当前修改商品的指针
    	struct node* i = NULL;
    	int choice = 1;
    	for (i = t->child; i != NULL; i = i->next) {
    		if ((strcmp(i->id, s) == 0 || strcmp(i->name, s) == 0) && i != m)  {
    			if (strcmp(i->id, s) == 0) {//商品编号存在
    			......
    			}
    			if (strcmp(i->name, s) == 0) {//商品名称存在
    			......
    			}
    		}
    	}
    }
    
    

    实现效果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    报告

    在这里插入图片描述
    详细设计

    void get_filename(char *name);//获取文件所在路径
    struct list* input();//读取商品类别目录
    void input_Goods(struct list* h);//读取商品信息函数
    void add(struct list* h);//添加商品函数
    void add_ALL(struct list* h);//添加一个商品类别信息函数
    void add_ONE(struct list* h);//添加一个商品信息函数
    struct list* delete(struct list* h);//删除商品函数
    struct list* delete_ALL(struct list* h);//删除一个商品类别
    void delete_ONE(struct list* h);//删除目录里的单个商品
    void search (struct list* h);//查找商品函数
    void change(struct list* h);//修改功能函数
    void change_ALL(struct list* h);//修改目录
    void change_ONE(struct list* h);//修改商品
    struct list* display(struct list* h);//查阅商品函数
    struct list* display_ALL(struct list* h);//查阅全部
    struct list* display_ONE(struct list* h);//翻页查阅
    struct list* display_BOOK(struct list* h);//目录式查阅
    void display_Goods(struct list* h, int num);//展示一个商品函数
    void check_ALL(struct list* h, struct list* t,int *m,char *s);//检查修改时数据有没有重复函数
    void check_ONE(struct list* t, struct node* m, char* s);//检查修改商品时商品数据有误冲突
    void close(struct list* h);//关掉系统
    

    在这里插入图片描述
    报告+全部源代码+可执行文件+数据文件

    展开全文
  • 课程设计论文!可以直接用的论文!商品销售,管理!包含目录
  • 设计题目 学院名称 设计题目 学院名称 专业班级 姓 名: 学 号: JAVA程序设计 课程设计报告 商场库存管理系统设计与实现 信息工程学院 13 计本2 刘 飞 43 需求分析 概要设计 000000000 概要设计原则 .将用户模块需求...
  • 目录 文档说明: 一、语言和环境 二、要求 三、重要说明 四、推荐实现步骤 五、注意事项 实现代码: 一、数据库: 二、Java Swing: com.ynavc.Bean com.ynavc.Controller com.ynavc.Dao ...

    项目下载:https://download.csdn.net/download/weixin_44893902/13715024

    1.9元付费赞助下载:https://download.csdn.net/download/weixin_44893902/19774850

    目录

    文档说明:

    一、语言和环境

    二、要求

    三、重要说明

    四、推荐实现步骤

    五、注意事项

    实现代码:

    一、数据库:

    二、Java Swing:

    com.ynavc.Bean

    com.ynavc.Controller

    com.ynavc.Dao

    com.ynavc.Test

    com.ynavc.Vive


    文档说明:

    一、语言和环境

    A、实现语言

        Java(SWING+JDBC),MySql

    B、开发环境

    MyEclipse 9.0及以上版本,MySql 5.6及以上版本

    二、要求

    利用SWING编程实现商品的管理,要求如下:

    1、商品管理页面布局,添加一个JScrollPanel(内嵌JTable),用来显示所有商品的信息;添加两个JLabel用于显示查询提示信息;添加JTextField用于输入商品商品名称;添加2个JButton,分别用来实现商品查询及添加商品,效果图如图1所示。

    图1

     

    2、在“商品名称”对应的JTextField中输入商品名称,单击“查询”:如果存在该商品,则显示如图2所示的窗体;若输入的名称不存在,则弹出“没找到该商品!”的对话框。

     

    图2

    3、单击“添加商品”按钮,弹出如图3所示的窗体,此时必须输入所有商品信息,

    否则将弹出如图4所示的对话框;当商品信息输入完毕,单击“确定”按钮,实现商品的添加,

    在弹出如图5所示的对话框后,释放窗体,并返回“商品管理”主界面,效果如图6所示。

    图3
    图4
    图5
    图6

    三、重要说明

    对于“添加”功能,程序员可以不用按照上述步骤实现,可以自定义添加界面,只要能实现添加功能即可。

    四、推荐实现步骤

    创建数据库dbGoods,添加表goods,表结构如表1所示,至少添加5条记录。

    列名

    类型

    约束

    备注

    goodID

    int或varchar(10)

    主键

    商品编号

    goodName

    varchar(20)

    非空

    商品名称

    num

    int

    非空

    商品数量

    price

    Decimal(3,1)

    非空

    商品单价

    1、创建项目GoodsManagement,在其下新建文件夹“lib”,复制jar包文件(mysql-connector-java-5.1.34-bin.jar)存入其中,导入jar包到项目;

    2、添加一个类GoodsManager:继承为JFrame,重载构造方法实现图1的布局效果;运行时,窗体居中参考代码如下:

    this.setLocationRelativeTo(null);

    自由布局参考如下:

    this.setLayout(null);

    创建一个JPanel,其布局也为自由布局;添加所有控件对象到其中;

    控件位置与大小可使用以下方法实现:

    对象名.setSize(int Width,int Height)

    对象名.setLocation(int x,int y)

    对象名.setBounds(int x,int y,int Width,int Height)

    注意:在使用自由布局方式布局JPanel中的控件时,必须设置其大小,当然JPanel对象亦然,否则很有可能不能正常显示。

    3、添加一个类DBManager:在其中创建获取连接对象的方法getConnection;创建查询通用方法runSelectSql;创建实现增、删、改的方法runUpdateSql方法。

    4、单击“显示所有商品”、“按编号查询”及“按名称查询”按钮时调用DBManager.runSelectSql方法实现;单击“修改商品”、“删除商品”或“添加商品”按钮调用DBManager.runUpdateSql方法实现。

    5、获取选定行的索引值,参考代码如下:

    int index=table.getSelectedRow();//table为表格对象

    获取选定行的商品名称,参考代码如下:

    table.getValueAt(index,1);//index为选定行的索引值

    6、在编写代码时,最好用方法对重复使用的代码进行封装,尽量减少代码的冗余;

    7、编译程序,并运行。

    五、注意事项

    A、仔细审题,把题目要求理解准确;

    B、请注意按照的界面的设计要求来进行窗体设计;

    C、请注意代码的书写、命名符合规范和适当的注释;

     

    评分标准:超市管理系统商品管理(查询及删除商品)

    90

    窗体布局与设计

     

     

    10

    数据库(5)、表及记录(5)

     

     

    30

    窗体布局合理,对象创建正确无误

     

     

    25

    查询正确

     

     

    25

    添加商品正确

    10

    总体编程技术

     

     

    5

    程序逻辑分明,有一定注释

     

     

    5

    命名符合规范,可读性好,编码书写有缩进

    总分

    100分

     

    实现代码:

    一、数据库:

    /*
     Navicat Premium Data Transfer
    
     Source Server         : Demo
     Source Server Type    : MySQL
     Source Server Version : 50717
     Source Host           : localhost:3306
     Source Schema         : dbgoods
    
     Target Server Type    : MySQL
     Target Server Version : 50717
     File Encoding         : 65001
    
     Date: 16/09/2020 16:36:31
    */
    
    SET NAMES utf8mb4;
    SET FOREIGN_KEY_CHECKS = 0;
    
    -- ----------------------------
    -- Table structure for goods
    -- ----------------------------
    DROP TABLE IF EXISTS `goods`;
    CREATE TABLE `goods`  (
      `goodsID` int(11) NOT NULL,
      `goodsName` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      `num` int(11) NOT NULL,
      `price` decimal(10, 4) NOT NULL,
      PRIMARY KEY (`goodsID`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    -- ----------------------------
    -- Records of goods
    -- ----------------------------
    INSERT INTO `goods` VALUES (10002, '利鲜', 10, 20.0000);
    INSERT INTO `goods` VALUES (10003, '黄鹤楼', 100, 21.0000);
    INSERT INTO `goods` VALUES (10020, '酸奶', 50, 1.5000);
    INSERT INTO `goods` VALUES (10030, '矿泉水', 1000, 1000.0000);
    INSERT INTO `goods` VALUES (10040, '牛奶', 1000, 3.5000);
    
    SET FOREIGN_KEY_CHECKS = 1;
    

    二、Java Swing:

    com.ynavc.Bean

    Goods.Java

    package com.ynavc.Bean;
    
    public class Goods {
    	int goodsID;
    	String goodsName;
    	int num;
    	String price;
    	
    	public Goods(int goodsID, String goodsName, int num, String price) {
    		super();
    		this.goodsID = goodsID;
    		this.goodsName = goodsName;
    		this.num = num;
    		this.price = price;
    	}
    	public Goods() {
    		super();
    	}
    	@Override
    	public String toString() {
    		return "Goods [goodsID=" + goodsID + ", goodsName=" + goodsName + ", num=" + num + ", price=" + price + "]";
    	}
    	public int getGoodsID() {
    		return goodsID;
    	}
    	public void setGoodsID(int goodsID) {
    		this.goodsID = goodsID;
    	}
    	public String getGoodsName() {
    		return goodsName;
    	}
    	public void setGoodsName(String goodsName) {
    		this.goodsName = goodsName;
    	}
    	public int getNum() {
    		return num;
    	}
    	public void setNum(int num) {
    		this.num = num;
    	}
    	public String getPrice() {
    		return price;
    	}
    	public void setPrice(String price) {
    		this.price = price;
    	}
    	
    }
    

    com.ynavc.Controller

    Select.Java

    package com.ynavc.Controller;
     
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    
    import com.ynavc.Bean.Goods;
    import com.ynavc.Dao.DbConnection;
     
    public class Select {
    	public static Object[][] getGoods(String sql) {
    		
    		ResultSet resultSet = DbConnection.query(sql);
    		ArrayList<Goods> list=new ArrayList<Goods>();
    		try {
    			while (resultSet.next()) {
    				Goods goods=new Goods();
    				goods.setGoodsID(resultSet.getInt(1));
    				goods.setGoodsName(resultSet.getString(2));
    				goods.setNum(resultSet.getInt(3));
    				goods.setPrice(resultSet.getString(4));
    				list.add(goods);
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    		Object[][] objects=new Object[list.size()][4];
    		for(int i=0;i<list.size();i++) {
    			objects[i][0]=list.get(i).getGoodsID();
    			objects[i][1]=list.get(i).getGoodsName();
    			objects[i][2]=list.get(i).getNum();
    			objects[i][3]=list.get(i).getPrice();
    		}
    		return objects;
    	}
    	
    }

    Updata.Java

    
    package com.ynavc.Controller;
    
    import com.ynavc.Dao.DbConnection;
    
    public class Updata {
    	//添加数据
    	public static int addData(String sql) {
    		
    		return DbConnection.updataInfo(sql);
    	}
    }

    com.ynavc.Dao

    DbConnection .Java

    package com.ynavc.Dao;
     
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
     
    import javax.swing.JOptionPane;
     
    import com.mysql.jdbc.Statement;
     
    public class DbConnection {
    	//驱动类的类名
    	private static final String DRIVERNAME="com.mysql.jdbc.Driver";
    	//连接数据的URL路径
    //	private static final String URL="jdbc:mysql://118.31.124.77:3306/mydb23660";
    	private static final String URL="jdbc:mysql://127.0.0.1:3306/dbgoods";
    	//数据库登录账号
    //	private static final String USER="mydb23660";
    	private static final String USER="root";
    	//数据库登录密码
    //	private static final String PASSWORD="Hmsyfjdglxt66";
    	private static final String PASSWORD="root";
    	//加载驱动
    	static{
    		try {
    			Class.forName(DRIVERNAME);
    		} catch (ClassNotFoundException e) {
    			e.printStackTrace();
    		}
    	}
        //获取数据库连接
    	public static Connection getConnection() {
    	          try {
    		return DriverManager.getConnection(URL,USER,PASSWORD);
    	           } catch (SQLException e) {	
    		e.printStackTrace();
    	           }
    			return null;
    	}
    	//查询
    	public static ResultSet query(String sql) {
    		System.out.println(sql);
    		//获取连接
    		Connection connection=getConnection();
    		PreparedStatement psd;
    		try {
    			psd = connection.prepareStatement(sql);
    			return psd.executeQuery();
    		} catch (SQLException e) {
    			JOptionPane.showMessageDialog(null,"执行语句出错\n"+e.toString());
    			e.printStackTrace();
    		}
    		return null;
    	}
    	//增、删、改、查
    		public static int updataInfo(String sql) {
    			System.out.println(sql);
    			//获取连接
    			Connection connection=getConnection();
    			try {
    				PreparedStatement psd=connection.prepareStatement(sql);
    				return psd.executeUpdate();
    			} catch (SQLException e) {
    				JOptionPane.showMessageDialog(null,"执行语句出错\n"+e.toString());
    				e.printStackTrace();
    			}
    			return 0;
    		}
    	//关闭连接
    	public  static  void colse(ResultSet rs,Statement stmt,Connection  conn) throws Exception{
    	          try { if (rs != null){ rs.close(); }
                             	 if (stmt != null) { stmt.cancel(); }
    		 if (conn != null) { conn.close(); }
    	   } catch (Exception e) {
    		   e.printStackTrace(); throw new Exception();
    	   }
    	}
    }

    com.ynavc.Test

    Main.Java

    package com.ynavc.Test;
    
    import com.ynavc.Vive.GoodsManagement;
    
    public class Main {
    	public static void main(String[] args) {
    		GoodsManagement t = new GoodsManagement();
    		t.setVisible(true);
    	}
    }
    

    com.ynavc.Vive

    GoodsManagement.Java

    package com.ynavc.Vive;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.ScrollPaneConstants;
    import javax.swing.table.DefaultTableModel;
    
    import com.ynavc.Controller.Select;
    
    import javax.swing.JButton;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    
    public class GoodsManagement extends JFrame {
    
    	Select select = new Select();
    	
    	private JTextField textField;
    	
    	Object[] header= {"商品编号","商品名称","数量","单价"};
    	String sql = "SELECT goodsID,goodsname,num,price FROM goods";
    	Object[][] data= select.getGoods(sql);
    	DefaultTableModel df = new DefaultTableModel(data, header);
    	int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
    	int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
    	
    	public GoodsManagement() {
    		super("商品管理系统");
    		this.setBounds(0, 0, 700, 450);
    		this.setLocationRelativeTo(null);//让窗口在屏幕中间显示
    		this.setResizable(false);//让窗口大小不可改变
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//用户单击窗口的关闭按钮时程序执行的操作
    		getContentPane().setLayout(null);
    		
    		JLabel label = new JLabel("请输入商品名称:");
    		label.setBounds(151, 39, 112, 32);
    		getContentPane().add(label);
    		
    		textField = new JTextField();
    		textField.setBounds(263, 43, 127, 26);
    		getContentPane().add(textField);
    		textField.setColumns(10);
    		
    		JButton button = new JButton("查询");
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				String sql = "SELECT goodsID,goodsname,num,price FROM goods WHERE goodsname LIKE '%"+textField.getText()+"%'";
    				Object[][] data = Select.getGoods(sql);
    				df.setDataVector(data, header);
    			}
    		});
    		button.setBounds(411, 40, 90, 30);
    		getContentPane().add(button);
    		
    		JButton button_1 = new JButton("添加");
    		button_1.setBounds(559, 140, 90, 30);
    		getContentPane().add(button_1);
    		button_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				GoodsManage t = new GoodsManage();
    				t.setVisible(true);
    				dispose();
    			}
    		});
    		
    		JTable jTable = new JTable(df);
    		JScrollPane jsp=new JScrollPane(jTable,v,h);
    		jsp.setBounds(44, 103, 480, 282);
    		getContentPane().add(jsp);
    		
    	}
    	public static void main(String[] args) {
    		GoodsManagement t = new GoodsManagement();
    		t.setVisible(true);
    	}
    	
    }
    

    GoodsManage.Java

    package com.ynavc.Vive;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.ScrollPaneConstants;
    import javax.swing.table.DefaultTableModel;
    
    import com.ynavc.Bean.Goods;
    import com.ynavc.Controller.Select;
    import com.ynavc.Controller.Updata;
    
    import javax.swing.JButton;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.awt.event.ActionEvent;
    
    public class GoodsManage extends JFrame {
    	private JTextField textField;
    	Select select = new Select();
    	Updata updata = new Updata();
    	Object[] header= {"商品编号","商品名称","数量","单价"};
    	String sql = "SELECT goodsID,goodsname,num,price FROM goods";
    	Object[][] data= select.getGoods(sql);
    	DefaultTableModel df = new DefaultTableModel(data, header);
    	int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
    	int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
    	
    	public GoodsManage() {
    		super("商品管理系统");
    		this.setBounds(0, 0, 700, 450);
    		this.setLocationRelativeTo(null);//让窗口在屏幕中间显示
    		this.setResizable(false);//让窗口大小不可改变
    		getContentPane().setLayout(null);
    		
    		JTable jTable = new JTable(df);
    		JScrollPane jsp=new JScrollPane(jTable,v,h);
    		jsp.setBounds(10, 10, 515, 320);
    		getContentPane().add(jsp);
    		
    		JButton button_1 = new JButton("显示所有商品");
    		button_1.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				String sql = "SELECT goodsID,goodsname,num,price FROM goods";
    				Object[][] data = Select.getGoods(sql);
    				df.setDataVector(data, header);
    			}
    		});
    
    		button_1.setBounds(535, 80, 127, 30);
    		getContentPane().add(button_1);
    		
    		JButton button_2 = new JButton("修改商品");
    		button_2.setBounds(535, 140, 127, 30);
    		getContentPane().add(button_2);
    		button_2.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				if (jTable.getSelectedColumn()<0) {
    					JOptionPane.showMessageDialog(null, "请选择要修改的数据!");
    				} else {
    					int goodsID = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 0).toString());
    					String name = jTable.getValueAt(jTable.getSelectedRow(), 1).toString();
    					int num = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 2).toString());
    					String price = jTable.getValueAt(jTable.getSelectedRow(), 3).toString();
    					Goods goods = new Goods(goodsID,name,num,price);
    					GoodsXG goodsXG = new GoodsXG(goods);
    					goodsXG.setVisible(true);
    				}
    				
    			}
    		});
    		
    		JButton button_3 = new JButton("删除商品");
    		button_3.setBounds(535, 200, 127, 30);
    		getContentPane().add(button_3);
    		button_3.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				if (jTable.getSelectedColumn()<0) {
    					JOptionPane.showMessageDialog(null, "请选中要删除的数据!");
    				} else {
    					int goodsID = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 0).toString());
    					String sql="delete from goods where goodsid="+goodsID;
    					int result = updata.addData(sql);
    					if (result>0) {
    						JOptionPane.showMessageDialog(null, "删除成功!");
    						JOptionPane.showMessageDialog(null, "记得刷新一下哦!");
    					} else {
    						JOptionPane.showMessageDialog(null, "删除失败!");
    					}
    				}
    			}
    		});
    		
    		JButton button_4 = new JButton("添加商品");
    		button_4.setBounds(535, 258, 127, 30);
    		getContentPane().add(button_4);
    		button_4.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				GoodsADD goodsAdd = new GoodsADD();
    				goodsAdd.setVisible(true);
    			}
    		});
    		
    		JLabel label = new JLabel("商品编号:");
    		label.setBounds(40, 354, 112, 32);
    		getContentPane().add(label);
    		
    		textField = new JTextField();
    		textField.setBounds(154, 358, 127, 26);
    		getContentPane().add(textField);
    		textField.setColumns(10);
    		
    		JButton button = new JButton("按编号查询");
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				String sql = "SELECT goodsID,goodsname,num,price FROM goods WHERE goodsid LIKE '%"+textField.getText()+"%'";
    				Object[][] data = Select.getGoods(sql);
    				df.setDataVector(data, header);
    			}
    		});
    		button.setBounds(305, 355, 112, 30);
    		getContentPane().add(button);
    		
    		this.addWindowListener(new WindowAdapter() {
    			 
    			public void windowClosing(WindowEvent e) {
    				super.windowClosing(e);
    				//加入动作
    				GoodsManagement m = new GoodsManagement();
    				m.setVisible(true);
    			 }
    		});
    	}
    	
    	public static void main(String[] args) {
    		GoodsManage t = new GoodsManage();
    		t.setVisible(true);
    	}
    }
    

    GoodsXG.Java

    package com.ynavc.Vive;
    
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JTextField;
    
    import com.ynavc.Bean.Goods;
    import com.ynavc.Controller.Updata;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    
    public class GoodsXG extends JFrame {
    	private JTextField id,name,num,price;
    	private JButton button;
    	private JButton button_1;
    	
    	int goodsid;
    	
    	public GoodsXG(Goods goods) {
    		super("商品管理系统");
    		this.setBounds(0, 0, 400, 450);
    		this.setLocationRelativeTo(null);//让窗口在屏幕中间显示
    		this.setResizable(false);//让窗口大小不可改变
    		getContentPane().setLayout(null);
    		
    		JLabel label = new JLabel("商品编号:");
    		label.setBounds(85, 89, 87, 22);
    		getContentPane().add(label);
    		
    		id = new JTextField();
    		id.setBounds(147, 90, 142, 21);
    		getContentPane().add(id);
    		id.setColumns(10);
    		
    		JLabel label_1 = new JLabel("商品名称");
    		label_1.setBounds(85, 139, 87, 22);
    		getContentPane().add(label_1);
    		
    		name = new JTextField();
    		name.setColumns(10);
    		name.setBounds(147, 140, 142, 21);
    		getContentPane().add(name);
    		
    		JLabel label_2 = new JLabel("数量:");
    		label_2.setBounds(85, 193, 87, 22);
    		getContentPane().add(label_2);
    		
    		num = new JTextField();
    		num.setColumns(10);
    		num.setBounds(147, 194, 142, 21);
    		getContentPane().add(num);
    		
    		JLabel label_3 = new JLabel("单价:");
    		label_3.setBounds(85, 241, 87, 22);
    		getContentPane().add(label_3);
    		
    		price = new JTextField();
    		price.setColumns(10);
    		price.setBounds(147, 242, 142, 21);
    		getContentPane().add(price);
    		
    		goodsid = goods.getGoodsID();
    		id.setText(Integer.toString(goods.getGoodsID()));
    		name.setText(goods.getGoodsName());
    		num.setText(Integer.toString(goods.getNum()));
    		price.setText(goods.getPrice());
    		
    		button = new JButton("确定");
    		button.setBounds(78, 317, 93, 23);
    		getContentPane().add(button);
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				String addId = id.getText();
    				String addName = name.getText();
    				String addNum = num.getText();
    				String addPrice = num.getText();
    				if (addName.equals("")||addName.equals("")||addNum.equals("")||addPrice.equals("")) {
    					JOptionPane.showMessageDialog(null, "请完整输入要修改的数据");
    				} else {
    					String sql="UPDATE goods SET "+"Goodsid='"+addId+"',Goodsname='"+addName+"',num='"+addNum+"',price='"+addPrice+"'where goodsid="+goodsid;
    					int result = Updata.addData(sql);
    					if (result>0) {
    						JOptionPane.showMessageDialog(null, "修改成功!");
    		                JOptionPane.showMessageDialog(null, "记得刷新一下哦!");
    						dispose();
    //						GoodsManage i = new GoodsManage();
    //						i.setVisible(true);
    					} else {
    						JOptionPane.showMessageDialog(null, "修改失败!");
    					}
    				}
    
    			}
    		});
    		
    		button_1 = new JButton("取消");
    		button_1.setBounds(208, 317, 93, 23);
    		getContentPane().add(button_1);
    		button_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				dispose();
    			}
    		});
    		
    	}
    	public static void main(String[] args) {
    		GoodsXG g = new GoodsXG(null);
    		g.setVisible(true);
    	}
    }
    

    GoodsADD.Java

    package com.ynavc.Vive;
    
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JTextField;
    
    import com.ynavc.Bean.Goods;
    import com.ynavc.Controller.Updata;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    
    public class GoodsADD extends JFrame {
    	private JTextField id,name,num,price;
    	private JButton button;
    	private JButton button_1;
    	
    	public GoodsADD() {
    		super("商品管理系统");
    		this.setBounds(0, 0, 400, 450);
    		this.setLocationRelativeTo(null);//让窗口在屏幕中间显示
    		this.setResizable(false);//让窗口大小不可改变
    		getContentPane().setLayout(null);
    		
    		JLabel label = new JLabel("商品编号:");
    		label.setBounds(85, 89, 87, 22);
    		getContentPane().add(label);
    		
    		id = new JTextField();
    		id.setBounds(147, 90, 142, 21);
    		getContentPane().add(id);
    		id.setColumns(10);
    		
    		JLabel label_1 = new JLabel("商品名称");
    		label_1.setBounds(85, 139, 87, 22);
    		getContentPane().add(label_1);
    		
    		name = new JTextField();
    		name.setColumns(10);
    		name.setBounds(147, 140, 142, 21);
    		getContentPane().add(name);
    		
    		JLabel label_2 = new JLabel("数量:");
    		label_2.setBounds(85, 193, 87, 22);
    		getContentPane().add(label_2);
    		
    		num = new JTextField();
    		num.setColumns(10);
    		num.setBounds(147, 194, 142, 21);
    		getContentPane().add(num);
    		
    		JLabel label_3 = new JLabel("单价:");
    		label_3.setBounds(85, 241, 87, 22);
    		getContentPane().add(label_3);
    		
    		price = new JTextField();
    		price.setColumns(10);
    		price.setBounds(147, 242, 142, 21);
    		getContentPane().add(price);
    		
    		button = new JButton("确定");
    		button.setBounds(78, 317, 93, 23);
    		getContentPane().add(button);
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				String addId = id.getText();
    				String addName = name.getText();
    				String addNum = num.getText();
    				String addPrice = num.getText();
    				if (addName.equals("")||addName.equals("")||addNum.equals("")||addPrice.equals("")) {
    					JOptionPane.showMessageDialog(null, "请完整输入要添加的数据");
    				} else {
    					String sql="INSERT INTO goods VALUES("+addId+",'"+addName+"','"+addNum+"','"+addPrice+"')";
    					int result = Updata.addData(sql);
    					if (result>0) {
    						JOptionPane.showMessageDialog(null, "添加成功!");
    		                JOptionPane.showMessageDialog(null, "记得刷新一下哦!");
    						dispose();
    //						GoodsManage i = new GoodsManage();
    //						i.setVisible(true);
    					} else {
    						JOptionPane.showMessageDialog(null, "添加失败!");
    					}
    				}
    
    			}
    		});
    		
    		button_1 = new JButton("取消");
    		button_1.setBounds(208, 317, 93, 23);
    		getContentPane().add(button_1);
    		button_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				dispose();
    			}
    		});
    		
    	}
    }
    

     

     

    展开全文
  • 02商品销售管理系统

    2004-02-10 00:00:00
    在主程序目录内建立名为data的子目录存放改系统数据库文件,为了方便程序调用,要在Dalphi的BDE管理窗口中建立“SPXSGL”的数据库别名,如图2所示,目录位置为“…商品销售管理系统data”。后台数据库建立好以后,就...
  • {库存优化管理}商品库存管理系统需求分析 商品库存管理 程序设计报告 课程名称C语言课程设计程序设计 班级 电 气 1401 组长 王闯 小组成员王闯 孟宁 夏涵 胡琛 谢俊良 韩梦成 代仁旺 指导老师 伊芸芸 目录 第1章引言...
  • 设计一个简单商品分类管理系统,对某超市商品进行分类存储和管理. (孩子兄弟法+父指针);商品信息描述如下:商品代码,商品名称,商品价格,商品数量。 基本要求 1、浏览当前商品分类目录的所有内容(子分类和...
  • Python基础项目:超市商品销售管理系统

    万次阅读 多人点赞 2019-04-18 12:01:54
    在前几章的案例中,主要以项目为中心介绍了相关知识点,通过手机通讯录管理系统和学生信息管理系统案例的学习,应该掌握...在本章中,我们会将之前的内容进行统一综合,完成超市商品销售管理系统。 需求分析: ...
  • 北京联合大学信息学院 面向对象程序设计实训报告 题目 模拟超市商品管理系统 专 业 班 级 学 号 小组成员 年 月 日 目录 课程设计目的1 程序要求与简介1 系统分析2 3.1系统流程图2 3.2主要类说明3 测试运行的结果4 ...
  • VS2010上开发的商品管理系统,把改程序放在全英文目录下,配置好环境即可运行。
  • 后台管理系统商品管理

    千次阅读 2020-04-11 15:36:44
    文章目录
  • javaweb课程设计之商品后台管理系统

    千次阅读 2020-12-12 17:02:03
    基于java开发的商品管理系统,管理员在后台进行添加商品,修改商品,删除商品,批量删除商品,设置商品上下架功能等 完美实现,另外说明,该项目基于后台开发,前端展示暂时没做,后台写好了,前端展示很简单,无非...
  • 基于web的商品管理系统,简单的增删改查以及上传下载功能,由struts2、ibatis、spring整合而成,功能齐全,附带使用说明,简单易懂
  • 商品管理系统(毕业设计) ·一份很好的毕业设计··快来拍砖
  • 转:电商后台:商品管理系统

    千次阅读 2019-03-14 17:01:32
    电商后台:商品管理系统 2018-06-14 16:08 电商 电商管理系统是为了能够让用户快速的找到商品,为同类型产品提供标准的属性、属性值,便于统一产品,使用户得到决策必须的消息,为运营童鞋方便管理商品的上下架。 ...
  • JavaWeb项目作业 Market商品管理系统

    千次阅读 多人点赞 2021-04-01 16:33:51
    1、首页完成商品信息列表显示,如图1所示。需求功能如下: 分页展示 多条件模糊查询商品 图1列表信息展示 2、当用户点击新增超链接时进入新增页面,类型数据为动态加载,用户添加成功后返回列表页面显示最新...
  • 后台管理系统商品规格管理

    千次阅读 2020-04-10 20:59:27
    商品规格数据结构 规格组 规格参数 商品规格参数管理 规格组的查询 规格参数查询 3.SPU和SKU数据结构 3.1.SPU表 3.2.SKU表 3.3.导入图片信息 1.商品规格数据结构 SPU和SKU SPU:Standard Product Unit (标准产品...
  • 商品信息管理系统(c语言)项目报告

    万次阅读 多人点赞 2018-08-18 09:26:06
    目录 一、需求分析(三号,宋体,粗体) 2 二、系统设计(三号,宋体,粗体) 2 (一)系统中的数据定义(四号,黑体,粗体) 2 (二)系统的概要设计 2 (三)系统的详细设计 2 (四)系统的核心算法 2 三、...
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。...商品管理系统界面 分类管理 系统说明 本系统当前没有实现所有的功能,而是描述了实现思路,设计了主要功能和流程
  • 仓库管理系统

    万次阅读 多人点赞 2019-07-26 20:24:10
    仓库管理系统(WMS)通过出库,入库、库位调拨、库存调拨等功能,综合批次管理,物料对应、库存盘点、质检管理和即时库存管理等功能综合运用的管理系统,有效控制和跟踪仓库业务的物流和成本管理的全过程,实现完善...
  • 基于Javaweb案例-商品管理系统(1.0)

    千次阅读 多人点赞 2019-09-28 11:54:06
    商品管理系统: 功能: 登录,记住账号密码,注销登录,商品基本增删改查,分页,高级查询 使用技术: javase,mysql,mybatis,mvc思想,web基础 准备: 创建数据库表 搭建项目 开发: ...
  • <br />内容摘要   在科学技术日新月异的今天,计算机已逐步渗入各个领域,无论是学习,工作,还是娱乐都普及了计算机的使用,而随着网络...商品销售管理系统正是在这种情况下诞生并逐渐发展起来的,它
  • 系统特点: 1.设置系统用户登陆功能,即时对系统数据进行安全设置与保护。 2.友好的用户界面,业务操作简单,进入系统即能使用。 3.成熟先进的技术和系统构架,采用先进的数据库访问方式,数据更安全,性能更稳定。 ...
  • 数据结构课程设计 - 超市商品管理系统

    千次阅读 多人点赞 2017-12-21 09:05:23
    printf("--------------该系统还未录入商品信息,请录入后在进行操作--------------\n"); menu(); } printf("\n-----------下面是商品信息一览表-----------\n"); printf("\n"); printf("商品名称 商品编号 ...
  • 婚庆管理系统 毕设

    2012-02-12 20:17:26
    系统主要包括以下几个模块:基础数据管理、业务流程管理、财务管理、数据统计、商品目录、日常操作。本系统采用了JAVA语言并且使用目前B/S软件开发流行的开发框架SSH,并且集成使用DWR框架,同时使用Mysql数据库,...
  • 客服中心,这个系统,主要是调用订单完成订单的售后服务,比如受理单、退换货单;调用会员接口查询会员信息,并通过工单记录客服的工作流程。 客服中心一般不需要提供对外的接口服务。 客服中心,可能会有一些需要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,947
精华内容 16,378
关键字:

商品目录管理系统