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

StudentDatabaseManagementSystem

Uploaded by

Sanskar Rangole
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

StudentDatabaseManagementSystem

Uploaded by

Sanskar Rangole
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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