.利用JavaGUI和JDBC编程实现学生成绩查询功能。(输入学生学号, 即可查询到该学 生的所有成绩)
时间: 2024-02-25 07:55:41 浏览: 93
好的,我可以为您解答这个问题。
首先,我们需要创建一个Java GUI界面,其中包含一个文本框用于输入学生学号,一个按钮用于触发查询操作,以及一个文本区域用于显示查询结果。可以使用Swing或JavaFX等Java GUI库来实现界面的设计和布局。
然后,我们需要使用JDBC连接到数据库,查询学生成绩信息。可以使用MySQL或Oracle等关系型数据库来存储学生成绩信息。在查询时,我们需要根据输入的学生学号,从数据库中查询该学生的所有成绩信息。
下面是一个简单的示例代码,用于实现学生成绩查询功能:
```java
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ScoreQueryGUI extends JFrame implements ActionListener {
private JTextField tfStuId;
private JTextArea taResult;
public ScoreQueryGUI() {
super("学生成绩查询");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel();
p.setLayout(new GridLayout(3, 1));
JLabel lbStuId = new JLabel("请输入学生学号:");
tfStuId = new JTextField(10);
JButton btnQuery = new JButton("查询");
btnQuery.addActionListener(this);
taResult = new JTextArea(10, 30);
taResult.setEditable(false);
JScrollPane sp = new JScrollPane(taResult);
p.add(lbStuId);
p.add(tfStuId);
p.add(btnQuery);
add(p, BorderLayout.NORTH);
add(sp, BorderLayout.CENTER);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String stuId = tfStuId.getText();
if (stuId.isEmpty()) {
JOptionPane.showMessageDialog(this, "请输入学生学号", "错误", JOptionPane.ERROR_MESSAGE);
return;
}
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM score WHERE stu_id='" + stuId + "'");
taResult.setText("");
while (rs.next()) {
String course = rs.getString("course");
int score = rs.getInt("score");
taResult.append(course + ":" + score + "\n");
}
rs.close();
stmt.close();
con.close();
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, ex.getMessage(), "错误", JOptionPane.ERROR_MESSAGE);
}
}
public static void main(String[] args) {
new ScoreQueryGUI();
}
}
```
在这个示例代码中,我们使用了MySQL数据库,并通过JDBC连接到数据库。在查询时,我们使用了SQL语句`SELECT * FROM score WHERE stu_id='" + stuId + "'"`,其中score是存储学生成绩信息的表名,stu_id和course是表中的两个列名。
当用户点击查询按钮时,程序会获取文本框中的学生学号,并执行查询操作。查询结果会显示在文本区域中。如果发生错误,程序会弹出一个错误对话框显示错误信息。
希望这个示例能够帮助您实现学生成绩查询功能。
阅读全文