7.利用JavaGUI 和JDBC 编程实现学生成绩查询功能。(输入学生学号,即可查询到该学 生的所有成绩)
时间: 2024-03-14 15:48:21 浏览: 64
好的,下面是一个简单的 JavaGUI 和JDBC 实现学生成绩查询的示例代码:
```java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class ScoreQuery extends JFrame implements ActionListener {
private JButton btnQuery; // 查询按钮
private JLabel lblResult; // 结果标签
private JTextField txtNo; // 学号文本框
public ScoreQuery() {
super("成绩查询"); // 设置窗口标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 200);
// 创建面板和控件
JPanel panel = new JPanel();
JLabel lblNo = new JLabel("学号:");
txtNo = new JTextField(10);
lblResult = new JLabel("");
btnQuery = new JButton("查询");
btnQuery.addActionListener(this);
// 添加控件到面板
panel.add(lblNo);
panel.add(txtNo);
panel.add(btnQuery);
panel.add(lblResult);
add(panel);
setVisible(true); // 显示窗口
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnQuery) { // 点击查询按钮
String no = txtNo.getText().trim();
if (!no.isEmpty()) {
try {
// 连接数据库
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/school", "root", "123456");
// 查询成绩
String sql = "SELECT name, course, score FROM score WHERE no=?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, no);
ResultSet rs = stmt.executeQuery();
// 显示结果
StringBuilder sb = new StringBuilder();
while (rs.next()) {
sb.append(rs.getString("name"));
sb.append("\t");
sb.append(rs.getString("course"));
sb.append("\t");
sb.append(rs.getInt("score"));
sb.append("\n");
}
if (sb.length() > 0) {
lblResult.setText(sb.toString());
} else {
lblResult.setText("没有找到该学生的成绩!");
}
// 关闭连接
rs.close();
stmt.close();
conn.close();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
public static void main(String[] args) {
new ScoreQuery();
}
}
```
上面的代码中,我们创建了一个窗口,包含一个文本框和一个查询按钮。当用户输入学号并点击查询按钮时,程序会连接 MySQL 数据库,查询该学生的成绩,并将结果显示在窗口上。需要注意的是,程序使用了 JDBC 连接数据库,因此需要先将 MySQL 驱动程序添加到项目中。
阅读全文