0% found this document useful (0 votes)
17 views

StudentDatabaseManagementSystem

Uploaded by

Sanskar Rangole
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

StudentDatabaseManagementSystem

Uploaded by

Sanskar Rangole
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

import javax.swing.

*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;

public class StudentManagementGUI extends JFrame {


private JTextField rollField, nameField, marksField;
private JTextArea resultArea;

private final String DB_URL = "jdbc:mysql://localhost:3306/student";


private final String DB_USER = "root";
private final String DB_PASSWORD = "";

public StudentManagementGUI() {
setLayout(new BorderLayout());

// Input Panel
JPanel inputPanel = new JPanel(new GridLayout(4, 2));
inputPanel.add(new JLabel("Roll Number:"));
rollField = new JTextField();
inputPanel.add(rollField);

inputPanel.add(new JLabel("Name:"));
nameField = new JTextField();
inputPanel.add(nameField);

inputPanel.add(new JLabel("Marks:"));
marksField = new JTextField();
inputPanel.add(marksField);

JButton addButton = new JButton("Add");


JButton retrieveButton = new JButton("Retrieve");
inputPanel.add(addButton);
inputPanel.add(retrieveButton);

// Result Area
resultArea = new JTextArea(8, 30);
resultArea.setEditable(false);

add(inputPanel, BorderLayout.NORTH);
add(new JScrollPane(resultArea), BorderLayout.CENTER);

// Add Action Listeners


addButton.addActionListener(e -> addStudent());
retrieveButton.addActionListener(e -> retrieveStudents());

// Frame Settings
setTitle("Student Management");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}

private void addStudent() {


try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER,
DB_PASSWORD)) {
String query = "INSERT INTO students (roll_number, name, marks) VALUES
(?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(query);
pstmt.setInt(1, Integer.parseInt(rollField.getText()));
pstmt.setString(2, nameField.getText());
pstmt.setInt(3, Integer.parseInt(marksField.getText()));
pstmt.executeUpdate();

// Clear fields after adding


rollField.setText("");
nameField.setText("");
marksField.setText("");
} catch (Exception ex) {
System.out.println("Error: " + ex.getMessage());
}
}

private void retrieveStudents() {


try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER,
DB_PASSWORD);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM students")) {

// Using StringBuilder for efficient string manipulation


StringBuilder result = new StringBuilder("Roll Number\tName\tMarks\n");
while (rs.next()) {
result.append(rs.getInt("roll_number")).append("\t\t")
.append(rs.getString("name")).append("\t\t")
.append(rs.getInt("marks")).append("\n");
}
resultArea.setText(result.toString());
} catch (Exception ex) {
System.out.println("Error: " + ex.getMessage());
}
}

public static void main(String[] args) {


try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("MySQL Driver not found.");
}
SwingUtilities.invokeLater(StudentManagementGUI::new);
}
}

You might also like