📄 search.java
字号:
package warehouse;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.table.*;
import java.util.*;
public class Search extends JPanel
{
public Search()
{
this.setLayout(new BorderLayout());
this.setBackground(new Color(187,242,24));
search.setForeground(Color.red);
search.setFont(new Font("Serif",Font.BOLD,40));
add(search,"North");
JPanel centerPanel=new JPanel();
centerPanel.setLayout(new BorderLayout());
centerPanel.setBackground(new Color(187,242,24));
centerPanel.setBorder(BorderFactory.createEtchedBorder());
JPanel inn=new JPanel();
inn.setBackground(new Color(187,242,24));
inn.setLayout(new GridLayout(2,2));
inn.setBackground(new Color(187,242,24));
JPanel innPanel=new JPanel();
innPanel.setBackground(new Color(187,242,24));
l0.setFont(f);
innPanel.add(l0);
innPanel.add(new JButton(zijinAction));
inn.add(innPanel);
JPanel innPanel2=new JPanel();
innPanel2.setBackground(new Color(187,242,24));
l2.setFont(f);
innPanel2.add(l2);
innPanel2.add(new JButton(zhouAction));
inn.add(innPanel2);
JPanel innPanel3=new JPanel();
innPanel3.setBackground(new Color(187,242,24));
l3.setFont(f);
innPanel3.add(l3);
innPanel3.add(new JButton(daiAction));
inn.add(innPanel3);
JPanel southPanel=new JPanel();
southPanel.setBackground(new Color(187,242,24));
l4.setFont(f);
southPanel.add(l4);
southPanel.add(tt);
southPanel.add(new JButton(wupingAction));
inn.add(southPanel);
centerPanel.add(inn,"South");
search_table=new JTable(model)
{
public boolean isCellEditable(int rowIndex,int columnIndex)
{
return false;
}
};
search_table.setPreferredScrollableViewportSize(viewsize);
JScrollPane search_scroll=new JScrollPane(search_table);
centerPanel.add(search_scroll,"Center");
add(centerPanel,"Center");
description0.setFont(f);
add(description0,"South");
}
AbstractAction zijinAction=new AbstractAction()
{
{
putValue(NAME,"查询");
putValue(SHORT_DESCRIPTION,"查询占用资金最多的物品");
}
public void actionPerformed(ActionEvent e)
{
Vector title=new Vector();
title.addElement("原材料名称");
title.addElement("原材料所占资金");
int id=1;
search_table.setModel(setData(model,id,title));
}
};
AbstractAction zhouAction=new AbstractAction()
{
{
putValue(NAME,"查询");
putValue(SHORT_DESCRIPTION,"查询周转率最高的物品");
}
public void actionPerformed(ActionEvent e)
{
Vector title=new Vector();
title.addElement("材料名称");
title.addElement("周转率");
int id=2;
search_table.setModel(setData(model,id,title));
}
};
AbstractAction daiAction=new AbstractAction()
{
{
putValue(NAME,"查询");
putValue(SHORT_DESCRIPTION,"查询呆滞的物品");
}
public void actionPerformed(ActionEvent e)
{
Vector title=new Vector();
title.addElement("材料名称");
title.addElement("周转率");
int id=3;
search_table.setModel(setData(model,id,title));
}
};
AbstractAction wupingAction=new AbstractAction()
{
{
putValue(NAME,"查询");
putValue(SHORT_DESCRIPTION,"查询某一种物品");
}
public void actionPerformed(ActionEvent e)
{
}
};
public void connDB()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
JOptionPane.showMessageDialog(null,"数据库加载失败!");
}
try
{
con = DriverManager.getConnection("jdbc:odbc:warehouse");
st = con.createStatement();
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,"数据库连接失败!");
}
}
public void closeDB1()
{
try
{
st.close();
con.close();
}
catch(SQLException e )
{
JOptionPane.showMessageDialog(null,"数据库关闭失败!");
}
}
private DefaultTableModel setData(DefaultTableModel model,int id,Vector title)
{
if(id==1)
{
Vector v2=new Vector();
connDB();
String query="select device_name,total_money from yuancailiao_total where total_money=(select max(total_money) from yuancailiao_total);";
try
{
rs=st.executeQuery(query);
while(rs.next())
{
Vector v1=new Vector();
v1.addElement(rs.getString(1));
v1.addElement(String.valueOf(rs.getFloat(2)));
v2.addElement(v1);
}
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,"数据库操作失败!");
}
closeDB1();
model.setDataVector(v2,title);
}
if(id==2)
{
Vector v2=new Vector();
connDB();
String query="select top 1 device_name,count(*) num from log group by device_name;";
try
{
rs=st.executeQuery(query);
while(rs.next())
{
Vector v1=new Vector();
v1.addElement(rs.getString(1));
v1.addElement(String.valueOf(rs.getInt(2)));
v2.addElement(v1);
}
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,"数据库操作失败!");
}
closeDB1();
model.setDataVector(v2,title);
}
if(id==3)
{
Vector v2=new Vector();
connDB();
String query="select top 1 device_name,count(*) num from log group by device_name order by num;";
try
{
rs=st.executeQuery(query);
while(rs.next())
{
Vector v1=new Vector();
v1.addElement(rs.getString(1));
v1.addElement(String.valueOf(rs.getInt(2)));
v2.addElement(v1);
}
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,"数据库操作失败!");
}
closeDB1();
model.setDataVector(v2,title);
}
return model;
}
Font f=new Font("Monospaced", Font.PLAIN,12);
private JLabel search=new JLabel("查询",SwingConstants.CENTER);
private JLabel l0=new JLabel("占用资金最多的物品查询",SwingConstants.CENTER);
private JLabel l2=new JLabel("周转率最高的物品查询",SwingConstants.CENTER);
private JLabel l3=new JLabel("呆滞物品查询",SwingConstants.CENTER);
JTable search_table=null;
private Dimension viewsize=new Dimension(120,50);//表格所占的空间大小
private DefaultTableModel model=new DefaultTableModel();//空数据模型
private JLabel l4=new JLabel("请输入查询物品的名称:",SwingConstants.CENTER);
private JTextField tt=new JTextField(5);
private JLabel description0=new JLabel("查询:按各种不同的需要查询库存",SwingConstants.CENTER);
Connection con=null;
ResultSet rs=null;
Statement st=null;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -