数据库课程设计(电脑配件库存管理系统)

   又是一年课程设计时,此次做的是数据库管理系统:电脑配件库存管理系统

主要包括以下基本内容:

1)电脑配件资料的添加与删除;

2)电脑配件的进货与出货管理;

3)电脑配件的库存管理与信息统计;

4)各种信息统计分析功能;

5)完成程序的最终调试,必须能正常运行

    此次课程设计中比较有用的知识点(会在下面一一展示):

1.在java程序中调用事先在数据库中写好的存储过程(而不用再苦逼地写sql语句了);

2.本个系统中,通过触发器实现当向入库表或者出库表插入数据时,动态更新库存表中的库存量;

   如:库存表中原来有键盘10个,然后执行了向入库表中插入数据,又采购了20个键盘,通过触发器数据库自身更新库存表中键盘库存量为10+20=30个了。我们只用关心向入库表中添加数据,而库存表中相应配件的数量则交给相应的触发器去更新。

3.复习了一下如何将通过select语句返回回来的结果集,以表格的形式显示出来(利用了JTable插件来表格显示


1和2. 在数据库中创建存储过程和相应的触发器

表的结构

create table 商品表
(商品编号 char(5) not null primary  key,
商品名称 varchar(50) not null,
生产厂家 varchar(50) not null,
型号 varchar(20) not null,
规格 varchar(20) not null)

create table 仓库表
(仓库号 char(10) not null primary  key,
仓库名称 varchar(50) not null,)

create table 库存表
(商品编号 char(5) not null ,
仓库号  char(10) not null,
库存数量 int     not null,
primary  key(商品编号,仓库号) ,
foreign key (商品编号)  references 商品表(商品编号),
foreign key (仓库号) references 仓库表(仓库号))


create table 入库表
(入库号 char(10) not null  primary key,
商品编号 char(5) not null,
仓库号 char(10) not null,
foreign key (商品编号)  references 商品表(商品编号),
foreign key (仓库号) references 仓库表(仓库号),
入库数量 int not null,
入库日期 datetime not null,
入库单位名称 varchar(50) not null,
送货人姓名 varchar(10) not null,
性别 char(2) default '男' check(性别 in ('男','女')))


create table 出库表
(出库号 char(10) not null  primary key,
商品编号 char(5) not null,
仓库号 char(10) not null,
foreign key (商品编号)  references 商品表(商品编号),
foreign key (仓库号) references 仓库表(仓库号),
出库数量 int not null,
出库日期 datetime not null,
出库单位名称 varchar(50) null,
提货人姓名 varchar(10) not null,
性别 char(2)  default('男') check (性别 in ('男','女')))

/*定义相关的约束条件*/
alter table 商品表
add unique (商品名称,生产厂家,型号,规格)

alter table 商品表
add  constraint  CS1 check(型号 like'[D][A][0-1][0-9][0-9][0-9]')



对应的触发器:

在java中调用rukuinsert存储过程(同时数据库隐式调用触发器rkb_into):

CallableStatement  callableStatement3 = con.prepareCall("{call rukuinsert(?,?,?,?,?,?,?,?,?)}") ; 
callableStatement3.setString(1,jt1.getText());
callableStatement3.setString(2,jt2.getText());
callableStatement3.setString(3,jt3.getText());
callableStatement3.setString(4,jt4.getText());
callableStatement3.setString(5,jt5.getText());
callableStatement3.setString(6,jt6.getText());
callableStatement3.setString(7,jt7.getText());
callableStatement3.setString(8,jt8.getText());
callableStatement3.registerOutParameter(9,java.sql.Types.VARCHAR);
callableStatement3.execute();
flag = callableStatement3.getString(9);
JOptionPane.showMessageDialog(null,flag,"温馨提示",JOptionPane.WARNING_MESSAGE);

3.利用了JTable插件来表格显示

//声明表用到的组件
JScrollPane pane = null;
JTable table;
//使用JTable的相关参数
String[] columnNames = {"商品编号","商品名称","总入库数量"};
Object[][] data = new Object[8][3];

int count = 0;
Connection con = null;
String connectDB="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Test";//数据源
String user="sa";
String password="123";
try {
       con=DriverManager.getConnection(connectDB,user,password);  //连接数据库对象
} catch (SQLException e1) {e1.printStackTrace();}

try{
String 商品编号,商品名称,总入库数量;
CallableStatement  callableStatement3 = con.prepareCall("{call ruku_info4(?,?)}") ; 
callableStatement3.setString(1,jt11.getText());
callableStatement3.setString(2,jt12.getText());
ResultSet rs = callableStatement3.executeQuery();
while(rs.next())
{
商品编号 = rs.getString("商品编号");
商品名称 = rs.getString("商品名称");
总入库数量 = rs.getString("总入库数量");

data[count][0] = 商品编号;
data[count][1] = 商品名称;
data[count][2] = 总入库数量;
//System.out.println("getData() is running!");
count++;
}
rs.close();

//另外创建一个界面JFrame来显示表格
JFrame frame = new JFrame("按  年或月或日  为周期对入库商品统计");  
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
TableModel model = new DefaultTableModel(data, columnNames);  
table = new JTable(model);  
RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);  
table.setRowSorter(sorter);  
pane = new JScrollPane(table);
frame.add(pane, BorderLayout.CENTER); 
frame.setSize(600,200);  
frame.setVisible(true);  

  我希望通过自己的总结,让自己这个课程设计不白做,更希望自己可以帮助别人。趁着自己记忆最清楚的时候记录这些美妙的领悟。^_^



管理信息系统(简称MIS)是在管理科学、系统科学、计算机科学等的基础上发展起来的综合性边缘科学。在21世纪信息高速发展的时代中,管理信息系统具有很重要的作用,它的预测和辅助决策的功能,即利用现代管理的决策和支持。 管理信息系统是一个由人、机(计算机)组成的能进行管理信息的收集、传递、存储、加工、维护和使用的系统。它能观测企业或组织的各种运动情况,利用过去的数据预测未来;从全局出发辅助决策;利用信息控制企业或组织行为,帮助其实现长远的规划目标。简言之,管理信息系统是一个以计算机为工具,具有数据处理、预测、控制和辅助决策功能的信息系统。 管理信息系统是一个人机系统,同时它又是一个一体化集成系统。管理信息系统是信息系统的一个子系统,它以计算机技术、通讯技术和软件技术为技术基础,同时将现代管理理论、现代管理方法及各级管理人员融为一体,最终为某个组织整体的管理与决策服务,是由人和计算机组成的能进行管理信息的收集、传递、存储、加工、维护和使用的系统。 管理信息系统的基本结构可以概括为四大部件,即信息源、信息处理器、信息用户和信息管理者。因此,一个成功的管理信息系统应该具有可靠的硬件、实用的软件、强有力的现代化管理水平。具体讲,管理信息系统的三大支柱是:计算机网络、数据库和现代化的管理,这三打支柱称为管理信息系统的扩展部件。 1.2数据库应用系统开发简介 在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。 数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。 数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。
  一套完整的vc++商品库存管理系统,数据库采用Access,附有系统安装及调试文档,可作为你的毕业作品。 基本模块与功能 1.系统 包括用户管理,密码管理,关闭系统,以及数据的备份与恢复,可以根据需要对整个数据库进行备份,以确保数据的安全性。 帮助:本系统的帮助信息,包括应用程序的版本信息; 2.库存管理 货品信息管理:对仓库里的货品进行登记; 货品库存管理:管理仓库的库存情况; 短线货品管理:对仓库里短线的货品进行登记,以便及时采购补货; 超储货品管理:对仓库里超储的货品进行登记,控制库存量,减少进货; 3.入库管理 入库登记管理:能对货品的入库登记,删除,更改等; 入库期间统计:货品入库期间年度的统计; 供货单位期间供货金额统计:对货品供应的金额进行统计; 4.出库管理 对货品出库期间的年度统计,出库登记,及收获单位金额统计等; 5.盘存管理 对盘存货品信息的盘存录入; 6.综合管理 可根据同一货品的出入库情况,对库存情况的汇总; 7.附项管理 对供货单位情况,经办人员,收货单位情况,仓库信息进行登记管理,可进行添加,删除等操作; 8.历史数据管理 对历史库存,历史出库,历史出库情况进行管理; 9.打印与查询 可根据输入的条件,对货品的入库信息,库存信息等进行简单查询和组合查询。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值