用javaswing写一个带有数据库且功能完整的疫苗管理系统
时间: 2024-06-08 13:06:51 浏览: 15
好的,以下是一个简单的疫苗管理系统的Java Swing代码示例:
```
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
public class VaccineManagementSystem extends JFrame implements ActionListener {
// 定义各种组件
JLabel l1, l2, l3, l4, l5, l6, l7;
JTextField t1, t2, t3, t4, t5, t6, t7;
JButton b1, b2, b3, b4;
JPanel p;
Connection con;
Statement stmt;
public VaccineManagementSystem() {
super("疫苗管理系统");
setSize(700, 600);
setLayout(null);
// 添加各种组件
l1 = new JLabel("疫苗管理系统");
l1.setBounds(250, 30, 200, 30);
add(l1);
l2 = new JLabel("疫苗编号");
l2.setBounds(50, 70, 100, 30);
add(l2);
t1 = new JTextField();
t1.setBounds(150, 70, 200, 30);
add(t1);
l3 = new JLabel("疫苗名称");
l3.setBounds(50, 110, 100, 30);
add(l3);
t2 = new JTextField();
t2.setBounds(150, 110, 200, 30);
add(t2);
l4 = new JLabel("生产厂家");
l4.setBounds(50, 150, 100, 30);
add(l4);
t3 = new JTextField();
t3.setBounds(150, 150, 200, 30);
add(t3);
l5 = new JLabel("生产日期");
l5.setBounds(50, 190, 100, 30);
add(l5);
t4 = new JTextField();
t4.setBounds(150, 190, 200, 30);
add(t4);
l6 = new JLabel("有效期");
l6.setBounds(50, 230, 100, 30);
add(l6);
t5 = new JTextField();
t5.setBounds(150, 230, 200, 30);
add(t5);
l7 = new JLabel("库存量");
l7.setBounds(50, 270, 100, 30);
add(l7);
t6 = new JTextField();
t6.setBounds(150, 270, 200, 30);
add(t6);
b1 = new JButton("添加");
b1.setBounds(50, 320, 80, 30);
add(b1);
b1.addActionListener(this);
b2 = new JButton("修改");
b2.setBounds(150, 320, 80, 30);
add(b2);
b2.addActionListener(this);
b3 = new JButton("删除");
b3.setBounds(250, 320, 80, 30);
add(b3);
b3.addActionListener(this);
b4 = new JButton("查询");
b4.setBounds(350, 320, 80, 30);
add(b4);
b4.addActionListener(this);
p = new JPanel();
p.setBounds(400, 70, 250, 250);
add(p);
setVisible(true);
// 连接数据库
try {
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/vaccine_management_system", "root", "");
stmt = con.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void actionPerformed(ActionEvent e) {
// 处理按钮点击事件
if (e.getSource() == b1) {
String id = t1.getText();
String name = t2.getText();
String manufacturer = t3.getText();
String productionDate = t4.getText();
String validPeriod = t5.getText();
String stock = t6.getText();
try {
stmt.executeUpdate("INSERT INTO vaccines VALUES ('" + id + "', '" + name + "', '" + manufacturer + "', '" + productionDate + "', '" + validPeriod + "', '" + stock + "')");
JOptionPane.showMessageDialog(this, "添加成功");
} catch (SQLException ex) {
ex.printStackTrace();
}
} else if (e.getSource() == b2) {
String id = t1.getText();
String name = t2.getText();
String manufacturer = t3.getText();
String productionDate = t4.getText();
String validPeriod = t5.getText();
String stock = t6.getText();
try {
stmt.executeUpdate("UPDATE vaccines SET name='" + name + "', manufacturer='" + manufacturer + "', productionDate='" + productionDate + "', validPeriod='" + validPeriod + "', stock='" + stock + "' WHERE id='" + id + "'");
JOptionPane.showMessageDialog(this, "修改成功");
} catch (SQLException ex) {
ex.printStackTrace();
}
} else if (e.getSource() == b3) {
String id = t1.getText();
try {
stmt.executeUpdate("DELETE FROM vaccines WHERE id='" + id + "'");
JOptionPane.showMessageDialog(this, "删除成功");
} catch (SQLException ex) {
ex.printStackTrace();
}
} else if (e.getSource() == b4) {
String id = t1.getText();
try {
ResultSet rs = stmt.executeQuery("SELECT * FROM vaccines WHERE id='" + id + "'");
if (rs.next()) {
p.removeAll();
JLabel l1 = new JLabel("疫苗名称:" + rs.getString("name"));
JLabel l2 = new JLabel("生产厂家:" + rs.getString("manufacturer"));
JLabel l3 = new JLabel("生产日期:" + rs.getString("productionDate"));
JLabel l4 = new JLabel("有效期:" + rs.getString("validPeriod"));
JLabel l5 = new JLabel("库存量:" + rs.getString("stock"));
p.add(l1);
p.add(l2);
p.add(l3);
p.add(l4);
p.add(l5);
p.repaint();
} else {
JOptionPane.showMessageDialog(this, "未找到该疫苗");
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
public static void main(String[] args) {
new VaccineManagementSystem();
}
}
```
此代码中使用了MySQL数据库,并在代码中连接了名为vaccine_management_system的数据库。如果需要使用此代码,需要先安装并配置好MySQL,然后创建一个名为vaccine_management_system的数据库,并在其中创建一个名为vaccines的表,表结构如下:
```
CREATE TABLE vaccines (
id VARCHAR(10) PRIMARY KEY,
name VARCHAR(50),
manufacturer VARCHAR(50),
productionDate VARCHAR(20),
validPeriod VARCHAR(20),
stock INT
);
```
此代码示例中实现了添加、修改、删除和查询功能,可以根据需要进行修改和扩展。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)