Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

package objects; public class Student { private int studno; private String lastname; private String firstname; private

String address; private String degree; public static void main(String[] args) { new Student(); } public int getStudno() { return studno; } public void setStudno(int studno) { this.studno = studno; } public String getLastname() { return lastname; } public void setLastname(String lastname) { this.lastname = lastname; } public String getFirstname() { return firstname; } public void setFirstname(String firstname) { this.firstname = firstname; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; }

public String getDegree() { return degree; } public void setDegree(String degree) { this.degree = degree; } }

package gui;

import javax.swing.*;

import objects.Student;

import database.EmbeddedSQLConnection;

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

public class FrameMain extends JFrame implements ActionListener { private JPanel topP, bottomP, leftP, rightP; private JLabel enterL, searchL, studnoL, lastL, firstL, addressL, degreeL; private JTextField enterTF, studnoTF, lastTF, firstTF, addressTF, degreeTF; private JButton searchB, addB, editB, deleteB, saveB;

private EmbeddedSQLConnection ec = new EmbeddedSQLConnection(); private Student student = new Student();

public FrameMain() { setSize(350, 250); setTitle("Last Project");

Container mp = getContentPane(); mp.setLayout(new BorderLayout());

//top panel

topP = new JPanel(); topP.setLayout(new FlowLayout());

enterL = new JLabel("Enter Last name"); enterTF = new JTextField(10);

searchB = new JButton("Search"); searchB.addActionListener(this);

topP.add(enterL); topP.add(enterTF); topP.add(searchB);

//left panel leftP = new JPanel(); leftP.setLayout(new GridLayout(5,1));

studnoL = new JLabel("Student Number", SwingConstants.RIGHT); lastL = new JLabel("Last Name", SwingConstants.RIGHT); firstL = new JLabel("First Name", SwingConstants.RIGHT); addressL = new JLabel("Address", SwingConstants.RIGHT); degreeL = new JLabel("Degree", SwingConstants.RIGHT);

leftP.add(studnoL); leftP.add(lastL); leftP.add(firstL); leftP.add(addressL); leftP.add(degreeL);

//right panel

rightP = new JPanel(); rightP.setLayout(new GridLayout(5,1));

studnoTF = new JTextField(10); lastTF = new JTextField(10); firstTF = new JTextField(10); addressTF = new JTextField(10); degreeTF = new JTextField(10);

rightP.add(studnoTF); rightP.add(lastTF); rightP.add(firstTF); rightP.add(addressTF); rightP.add(degreeTF);

//bottom panel

bottomP = new JPanel(); bottomP.setLayout(new GridLayout(1,4));

addB = new JButton("Add"); addB.setEnabled(true); addB.addActionListener(this);

editB = new JButton("Edit"); editB.setEnabled(true); editB.addActionListener(this);

deleteB = new JButton("Delete"); deleteB.setEnabled(true); deleteB.addActionListener(this);

saveB = new JButton("Save"); saveB.setEnabled(false); saveB.addActionListener(this);

bottomP.add(addB); bottomP.add(editB); bottomP.add(deleteB); bottomP.add(saveB);

//container mp.add(topP, BorderLayout.NORTH); mp.add(leftP, BorderLayout.WEST); mp.add(rightP, BorderLayout.CENTER); mp.add(bottomP, BorderLayout.SOUTH);

setVisible(true); } public static void main(String [] args) { new FrameMain(); }

public void actionPerformed(ActionEvent e) { String action = e.getActionCommand(); if(action.equals("Search")) { ec.getConnection(); ec.getStudentInformation(student, enterTF.getText()); showStudent(); } else if(action.equals("Add")) { addB.setEnabled(false); saveB.setEnabled(true); enterTF.setText(""); clearTF(); }

else if(action.equals("Save")) { ec.getConnection(); student.setStudno(Integer.parseInt(studnoTF.getText())); student.setLastname(lastTF.getText()); student.setFirstname(firstTF.getText()); student.setAddress(addressTF.getText()); student.setDegree(degreeTF.getText());

ec.addStudent(student); ec.closeConnection();

saveB.setEnabled(false); clearTF(); } else if(action.equals("Edit")) { ec.getConnection(); student.setStudno(Integer.parseInt(studnoTF.getText())); student.setLastname(lastTF.getText()); student.setFirstname(firstTF.getText()); student.setAddress(addressTF.getText()); student.setDegree(degreeTF.getText());

saveB.setEnabled(true);

ec.closeConnection();

addB.setEnabled(false);

} else if(action.equals("Delete")) { ec.getConnection(); student.setStudno(Integer.parseInt(studnoTF.getText())); student.setLastname(lastTF.getText()); student.setFirstname(firstTF.getText()); student.setAddress(addressTF.getText()); student.setDegree(degreeTF.getText());

saveB.setEnabled(true); addB.setEnabled(true);

ec.closeConnection(); clearTF();

} private void clearTF() { studnoTF.setText(""); lastTF.setText(""); firstTF.setText(""); addressTF.setText(""); degreeTF.setText("");

} private void showStudent()

{ studnoTF.setText(student.getStudno()+""); lastTF.setText(student.getLastname()); firstTF.setText(student.getFirstname()); addressTF.setText(student.getAddress()); degreeTF.setText(student.getDegree());

} }

package database; import java.sql.*;

import objects.Student;

public class EmbeddedSQLConnection { private Connection con;

public EmbeddedSQLConnection() {

public void getConnection() {

try { Class.forName("com.ibm.db2.jcc.DB2Driver");

con=DriverManager.getConnection("jdbc:db2://localhost:50000/sample", "denzel", "lanzdenzel"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace();

public boolean getStudentInformation(Student stud, String lastname) {

try { PreparedStatement s = null; String query = "SELECT studno, lastname, firstname, address, degree FROM student WHERE lastname=?"; s=con.prepareStatement(query);

s.setString(1, lastname);

ResultSet rs = s.executeQuery();

while(rs.next()) { stud.setStudno(rs.getInt(1)); stud.setLastname(rs.getString(2)); stud.setFirstname(rs.getString(3)); stud.setAddress(rs.getString(4)); stud.setDegree(rs.getString(5));

} catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }

return true; }

public boolean addStudent(Student stud) {

PreparedStatement s = null; String query = "INSERT into student VALUES(?,?,?,?,?)"; try { s=con.prepareStatement(query); s.setInt(1, stud.getStudno()); s.setString(2, stud.getLastname());

s.setString(3, stud.getFirstname()); s.setString(4, stud.getAddress()); s.setString(5, stud.getDegree());

s.execute(); } catch(SQLException e) { e.printStackTrace(); } return true; } public boolean deleteStudent(Student stud, String lastname) { try { PreparedStatement s = null; String query = "SELECT studno, lastname, firstname, address, degree FROM student WHERE lastname=?";

s.setString(1, lastname);

ResultSet rs = s.executeQuery();

while(rs.next()) { stud.setStudno(rs.getInt(1)); stud.setLastname(rs.getString(2)); stud.setFirstname(rs.getString(3));

stud.setAddress(rs.getString(4)); stud.setDegree(rs.getString(5));

} catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }

return true; } public boolean editStudent(Student stud) { PreparedStatement s = null; String query = "UPDATE student set studno=?,lastname=?,firstname=?,address=?,degree=? where studno=?"; try { s=con.prepareStatement(query); s.setInt(1, stud.getStudno()); s.setString(2, stud.getLastname()); s.setString(3, stud.getFirstname()); s.setString(4, stud.getAddress()); s.setString(5, stud.getDegree());

s.execute(); } catch(SQLException e)

{ e.printStackTrace(); } return true; }

public void closeConnection() { try { con.close(); con=null; } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }

You might also like