超市库存管理系统的设计
一、 系统功能简介
本次课程设计是利用面向对象java的编程语言Eclipse完成一个对超市库存管理系统的设计,系统有不同的权限,分为普通用户和管理员。该系统的基本功能是对数据库中的商品信息数据的查询、删除、添加以及修改。不同权限的人对系统可行的操作也不同,普通用户只能对系统中的商品信息进行查询,而管理员除了可以查询还可以进行删除、添加、修改等操作。
具体的功能描述如下:
1、 商品查询:用户输入商品名称或者商品号,查找所有相匹配的数据并显示所有查找到的
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
,如果没有则显示错误。
2、 商品删除:输入商品名称或者商品号,对符合要求的特定商品进行删除,删除则是删除全部有关信息,并且是彻底删除,无法恢复。
3、 商品添加:对新进的商品进行添加,要求输入商品的全部有关信息。
4、 商品修改:对特定商品进行特定相关信息的修改。
二、 系统功能模块图
图2-1 系统功能模块图
我和某某一组,共同开发此系统,我主要负责系统数据库的设计、系统中普通用户模块以及用户登录部分,管理员模块的增删改查四部分由某某负责,如图所示。
三、 系统功能E-R图
图3-1 系统功能E-R图
四、 数据库设计
采用MySQL数据库,建立如下四个
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
:
1、 管理员信息表
图4-1 管理员信息表
2、 商品信息表
图4-2 商品信息表
3、 厂家信息表
图4-3 厂家信息表
4、 销售统计信息表
图4-4 销售统计信息表
三个表之间的关系如下图所示:
图4-5 表之间的关系图
该系统采用的是jdbc驱动直接进行MySQL数据库与java的连接,连接代码如下:
public class ConnectionDemo{
private final static String DBDRIVER="org.gjt.mm.mysql.Driver";
private final static String DBURL="jdbc:mysql://localhost:3306/chaoshiguanli";
private final static String USER="root";
private final static String PASS="yucaiqin";
public static Connection conn=null;
public ConnectionDemo()
{
try
{
Class.forName(DBDRIVER);
}catch(ClassNotFoundException e)
{e.printStackTrace();}
try
{
conn=DriverManager.getConnection(DBURL,USER,PASS);
System.out.println(conn);
}
catch(SQLException e){e.printStackTrace();}
}
}
五、 系统设计
经过对系统的分析,分析出主要有以下几个类:
1、用户类:使用这个系统的对象 用户分为普通用户和管理员,普通用户没有设计表,是外界随机存储,权限为0,管理员则有相应的数据表,属性有:id(员工号)、name(名字)、sex(性别)、age(年龄)、pass(密码)、able(权限),权限为1.管理员可以进行的操作是查询每个表的信息并且对商品信息进行添加、删除、修改等操作,而普通用户只能进行对商品信息的查询。
2、商品类:被操作的对象 属性有:sno(商品号)、sname(商品名称)、product(生产厂家)、deadline(有效期)、price(商品价格)、weight(商品重量)。
3、厂家类:被操作的对象 属性有:cno(注册号)、sno(商品号)、cname(厂家名称)、addr(厂家地址)、tel(厂家电话)。
4、销售统计类:统计商品的相关信息,被操作对象 属性有:sno(商品号)、sname(商品名称)、xall(销售总量)、xleft(剩余量)。
六、系统实现
1、 登录模块
登录界面如下:
图6-1 登录界面图
登入界面主要有用户名、密码和权限,权限分为1和0,普通用户不需要密码,用户名不可为空,权限要为0,管理员则要用户名和密码,并且要和数据库中相对应,密码不正确则显示密码不正确!权限为1。
管理员用户登录主要代码如下:
if (limit.equals("1")) {
try {
Class.forName("org.gjt.mm.mysql.Driver");
String url = "jdbc:mysql://localhost:3306/chaoshiguanli";
String user ="root";
String pwd ="yucaiqin";
Connection con = DriverManager.getConnection(url, user, pwd);
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sqlStr = "select * from reader where name=" + "'"
+ user + "' and pass=" + "'" + pass + "'";
ResultSet result = BaseDao.executeQuery(sqlStr);
if (result.next()) {
username = result.getString("name");
is_admin= result.getInt("pass");
BaseDao.close();
} else {
JOptionPane.showMessageDialog(this, "用户名或密码不正确!");
BaseDao.close();
return;
}
} catch (Exception ex) {
ex.printStackTrace();
}
Gly tr = new Gly(limit);
}
管理员用户登录界面如下:
图6-2 管理员登录界面图
图6-3 管理员登录后界面图
2、 查询模块
普通用户和管理员的查询功能是一样的,输入相应的信息,查询的结果显示在下面的文本框中,如图所示:
查询的主要代码如下:
ResultSet rs = stmt.executeQuery("SELECT * FROM sp where sno='"+s+"' and sname ='"+s2+"';");
String s3 = "管理员管理系统:";
while (rs.next()) {
s3 += " 商品号:";
s3 += rs.getString("sno");
s3 += "商品名称:";
s3 += rs.getString("sname");
s3 += "生产厂家:";
s3 += rs.getString("product");
s3 += " 有效期:";
s3 += rs.getString("deadline");
s3 += "商品价格:";
s3 += rs.getString("price");
s3 += " 商品重量:";
s3 += rs.getString("weight");
}
图6-4 管理员查询图
3、 添加模块
普通用户没有添加功能,管理员按条件添加商品相应信息:
添加的主要代码如下:
String sqlstr1 = "insert into sp( sno,sname,product,deadline,price,weight) values('"+ sno+ "','"+ sname+ "','"+product+"','"+deadline+"','"+ price+ "','"+ weight+ "')";
图6-5 管理员添加图
添加后数据库的信息如图所示:
图6-6 管理员添加信息图
4、 修改模块
管理员按条件修改商品相应信息:
修改的主要代码如下:
ResultSet rs = stmt.executeQuery("UPDATE * FROM sp");
String s1 = "管理员管理系统:";
while (rs.next()) {
s1 += " 商品号:";
s1 += rs.getString("sno");
s1 += "商品名称:";
s1 += rs.getString("sname");
s1 += "生产厂家:";
s1 += rs.getString("product");
s1 += " 有效期:";
s1 += rs.getString("deadline");
s1 += "商品价格:";
s1 += rs.getString("price");
s1 += " 商品重量:";
s1 += rs.getString("weight"); }
图6-7 管理员修改图
修改后数据库的信息如图所示:
图6-8 管理员修改信息图
5、 删除模块
管理员按相应的条件删除商品相应信息:
删除的主要代码如下:
stmt.execute("delete from sp where sno='" + sno + "'");
图6-9 管理员删除图
删除后数据库的信息如图所示:
图6-10 管理员删除信息图
七、 总结
在短短几天的时间里,完成了该系统的设计,对自己来说确实是一个不小的挑战。本系统的主要功能是管理员对超市库存商品的管理,可以进行查询、删除、添加、修改等操作。本次系统的的设计能顺利完成,是因为辅导老师及各位同学的大力辅导与帮助。在此,表示我最衷心的感谢。
在设计这个超市库存管理系统的过程中,认识到自己所学的知识确实少得有点可怜,编写代码的时候会连最基本的语句都想不起来,只有通过同学的帮助还有网上的一些资料才慢慢进入设计状态。
在设计数据库的时候运用的是MySQL数据库,以前根本就没有接触过,只是在这几天设计的过程中慢慢认识到MySQL数据库有着很强大的功能,并且执行语句的时候也比较方便,只是在开始配置环境的时候要求会比较多,设计新的数据库需要将数据库的脚本导入到dos界面中,再运用命令将一个个数据存入数据库,在dos中可以对表进行一系列的操作,比如添加、删除、修改以及查询,不仅可以查询表中数据还可以查询表的结构信息,看起来也比较速度,只需要输入几句简单的sql语句。