数据库课程设计(电脑配件库存管理系统)
来源:互联网 发布:网络转换地址优缺点 编辑:程序博客网 时间:2024/04/30 07:28
又是一年课程设计时,此次做的是数据库管理系统:电脑配件库存管理系统
主要包括以下基本内容:
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);
我希望通过自己的总结,让自己这个课程设计不白做,更希望自己可以帮助别人。趁着自己记忆最清楚的时候记录这些美妙的领悟。^_^
- 数据库课程设计(电脑配件库存管理系统)
- 数据库课程设计报告(仓库管理系统)
- 数据库课程设计(实验报告管理系统)
- 数据库课程设计-宿舍管理系统
- 数据库课程设计银行管理系统(SQL Server)
- 学生信息综合管理系统开发记录(数据库课程设计)
- 电气配件管理系统总结
- 数据库课程设计 C# 学生选课管理系统
- 课程设计(运动会管理系统)
- 电脑配件
- 库存管理系统 官网
- 库存管理系统设计方案
- 库存管理系统 SQL
- 库存管理系统
- 公司库存管理系统
- 库存管理系统
- 库存管理系统
- 库存管理系统服务器端
- 用MySQL创建数据库和数据库表
- 银行核心系统“瘦身”后的重新定义
- 在vs2012 cocos2d-x 3.2项目中导入CocoStudio库
- 1.2 palsquare
- 关于浏览器缓存
- 数据库课程设计(电脑配件库存管理系统)
- Kaggle : Display Advertising Challenge( ctr 预估 )
- java多线程—多线程的实现
- 李开复:走向全球的两大路径,中美何以各占其一
- 类与对象:构造函数和析构函数
- 排序算法一:冒泡排序
- 串口相关设置寄存器
- opencv学习系列(三)---直线检测
- php初学者之表达式、运算符和函数