You are on page 1of 6

package fxwithdbexample;

import java.net.URL;
import java.util.ResourceBundle;

import javafx.event.*;
import javafx.fxml.*;
import javafx.scene.control.*;
import java.sql.*;

public class FXMLDocumentController implements Initializable {

@FXML
private TextField tfStudentId;
@FXML
private TextField tfStudentName;
@FXML
private TextField tfRollNo;
@FXML
private TextField tfClassName;
@FXML
private CheckBox chkIsActive;
@FXML
private Label lblMessage;

@FXML
private void btnInsert_Click(ActionEvent event) {
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost/iub_db?user=root&passwrd=&serverTimezone=UTC");
Statement stmt = conn.createStatement();

String sql = "INSERT INTO `students` (`student_id`,`student_name`,`roll_no`,`class_name`,`is_active`) VALUES (NULL,'" +


tfStudentName.getText() + "'," + tfRollNo.getText() + ",'" + tfClassName.getText() + "'," + ((chkIsActive.isSelected()) ? "1" : "0") + ")";
if (stmt.executeUpdate(sql) > 0) {
lblMessage.setText("Record Inserted Successfully.");
} else {
lblMessage.setText("Record Not Inserted.");
}
} catch (Exception ex1) {
lblMessage.setText("Error Inserting Record: " + ex1.getMessage());
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (Exception ex2) {
lblMessage.setText("Error Closing Connection: " + ex2.getMessage());
}
}
}

@FXML
private void btnUpdate_Click(ActionEvent event) {
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost/iub_db?user=root&passwrd=&serverTimezone=UTC");
Statement stmt = conn.createStatement();

String sql = "UPDATE `students` SET `student_name`='" + tfStudentName.getText() + "',`roll_no`=" + tfRollNo.getText() +


",`class_name`='" + tfClassName.getText() + "',`is_active`=" + ((chkIsActive.isSelected()) ? "1" : "0") + " WHERE `student_id`=" +
tfStudentId.getText();
if (stmt.executeUpdate(sql) > 0) {
lblMessage.setText("Record Updated Successfully.");
} else {
lblMessage.setText("Record Not Updated.");
}
} catch (Exception ex1) {
lblMessage.setText("Error Updating Record: " + ex1.getMessage());
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (Exception ex2) {
lblMessage.setText("Error Closing Connection: " + ex2.getMessage());
}
}
}

@FXML
private void btnDelete_Click(ActionEvent event) {
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost/iub_db?user=root&passwrd=&serverTimezone=UTC");
Statement stmt = conn.createStatement();

String sql = "DELETE FROM `students` WHERE `student_id`=" + tfStudentId.getText();


if (stmt.executeUpdate(sql) > 0) {
lblMessage.setText("Record Deleted Successfully.");
} else {
lblMessage.setText("Record Not Deleted.");
}
} catch (Exception ex1) {
lblMessage.setText("Error Deleting Record: " + ex1.getMessage());
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (Exception ex2) {
lblMessage.setText("Error Closing Connection: " + ex2.getMessage());
}
}
}
@FXML
private void btnSelect_Click(ActionEvent event) {
Connection conn = null;
ResultSet rs = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost/iub_db?user=root&passwrd=&serverTimezone=UTC");
Statement stmt = conn.createStatement();

String sql = "SELECT * FROM `students` WHERE `student_id`=" + tfStudentId.getText();


rs = stmt.executeQuery(sql);

if (rs != null && rs.next()) {


tfStudentName.setText(rs.getString("student_name"));
tfRollNo.setText("" + rs.getInt("roll_no"));
tfClassName.setText(rs.getString("class_name"));
chkIsActive.setSelected(rs.getByte("is_active") == 1 ? true : false);
lblMessage.setText("Record Loaded Successfully.");
} else {
lblMessage.setText("Record Not Loaded.");
}
} catch (Exception ex1) {
lblMessage.setText("Error Loading Record: " + ex1.getMessage());
} finally {
try {
if (rs != null) {
rs.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception ex2) {
lblMessage.setText("Error Closing Connection: " + ex2.getMessage());
}
}
}

@FXML
private void btnClear_Click(ActionEvent event) {
tfStudentId.setText("");
tfStudentName.setText("");
tfRollNo.setText("");
tfClassName.setText("");
chkIsActive.setSelected(false);
}

@Override
public void initialize(URL url, ResourceBundle rb) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
lblMessage.setText("Database Driver Loaded Successfully.");
} catch (Exception ex) {
lblMessage.setText("Error Loading Database Driver: " + ex.getMessage());
}
}
}

You might also like