NUML
National University of Modern Languages (Lahore Campus)
Database Systems
Assignment No. 2
Make your CV using Swing and store it in Database. Make 3 text fields and respective labels, fetch data
from text field and store it into database, make a table of qualifications of your degrees and store it into
DB.
Submitted To:
Ms. Makia Nazir
Submitted By:
Irfan Rasheed { CS-357 }
MySQL:
CREATE DATABASE CVDatabase;
USE CVDatabase;
CREATE TABLE PersonalInfo (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
email VARCHAR(255),
phone VARCHAR(20)
);
CREATE TABLE Qualifications (
id INT AUTO_INCREMENT PRIMARY KEY,
degree VARCHAR(255),
university VARCHAR(255),
year VARCHAR(20)
);
SELECT * FROM PersonalInfo;
SELECT * FROM Qualifications;
JAVA:
import [Link].*;
import [Link];
import [Link].*;
import [Link];
import [Link];
import [Link].*;
class CVApp extends JFrame {
private JTextField nameField, emailField, phoneField;
private JTable qualificationTable;
private DefaultTableModel tableModel;
private JButton saveButton, addRowButton;
private static final String URL = "jdbc:mysql://localhost:3306/CVDatabase";
private static final String USER = "root";
private static final String PASSWORD = "12345";
public CVApp() {
setTitle("CV Application");
setSize(500, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
JPanel formPanel = new JPanel(new GridLayout(4, 2, 10, 10));
[Link]([Link]("Personal Information"));
[Link](new JLabel("Name:"));
nameField = new JTextField();
[Link](nameField);
[Link](new JLabel("Email:"));
emailField = new JTextField();
[Link](emailField);
[Link](new JLabel("Phone:"));
phoneField = new JTextField();
[Link](phoneField);
add(formPanel, [Link]);
tableModel = new DefaultTableModel(new String[]{"Degree", "University", "Year"}, 0);
qualificationTable = new JTable(tableModel);
JScrollPane tableScrollPane = new JScrollPane(qualificationTable);
[Link]([Link]("Qualifications"));
add(tableScrollPane, [Link]);
JPanel buttonPanel = new JPanel();
addRowButton = new JButton("Add Row");
saveButton = new JButton("Save to DB");
[Link](addRowButton);
[Link](saveButton);
add(buttonPanel, [Link]);
[Link](e -> [Link](new Object[]{"", "", ""}));
[Link](e -> saveToDatabase());
setVisible(true);
}
private void saveToDatabase() {
try (Connection conn = [Link](URL, USER, PASSWORD)) {
String sql = "INSERT INTO PersonalInfo (name, email, phone) VALUES (?, ?, ?)";
PreparedStatement stmt = [Link](sql, Statement.RETURN_GENERATED_KEYS);
[Link](1, [Link]());
[Link](2, [Link]());
[Link](3, [Link]());
[Link]();
ResultSet rs = [Link]();
int userId = [Link]() ? [Link](1) : 0;
sql = "INSERT INTO Qualifications (degree, university, year) VALUES (?, ?, ?)";
stmt = [Link](sql);
for (int i = 0; i < [Link](); i++) {
[Link](1, [Link](i, 0).toString());
[Link](2, [Link](i, 1).toString());
Object yearValue = [Link](i, 2);
String year = (yearValue != null && ![Link]().trim().isEmpty())
? [Link]().trim()
: null;
[Link](3, year);
[Link]();
}
[Link](this, "Data saved successfully!");
} catch (SQLException e) {
[Link]();
[Link](this, "Database Error: " + [Link]());
}
}
public static void main(String[] args) {
[Link](CVApp::new);
}
}