Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package lab3databas;
- import java.sql.*;
- import javax.swing.JTextField;
- public class Database {
- static final String DB_URL = "jdbc:mysql://localhost/lab3";
- static final String DB_USR = "root";
- static final String DB_PW = "erla1012";
- Connection conn = null;
- Boolean first = true;
- public Database() {
- try{
- //STEP 2: Register JDBC driver
- Class.forName("com.mysql.cj.jdbc.Driver");
- //STEP 3: Open a connection
- System.out.println("Connecting to database...");
- conn = DriverManager.getConnection(DB_URL,DB_USR,DB_PW);
- //STEP 6: Clean-up environment
- }catch(SQLException se){
- //Handle errors for JDBC
- se.printStackTrace();
- }catch(Exception e){
- //Handle errors for Class.forName
- e.printStackTrace();
- }
- }
- public void endSession() {
- try {
- this.conn.close();
- }
- catch(SQLException se){
- se.printStackTrace();
- }//end finally try
- finally{
- try{
- if(conn!=null)
- conn.close();
- }catch(SQLException se){
- se.printStackTrace();
- }//end finally try
- }//end try
- System.out.println("Goodbye!");
- }
- public void createStudent(String id, String address, String phonenumber, String emailaccount, String fullname, String programme) {
- String SQL = "INSERT INTO USERS" +
- " VALUES(?, ?, 0)";
- System.out.println("Creating student...");
- PreparedStatement stmt;
- try {
- stmt = conn.prepareStatement(SQL);
- stmt.setString(1, id);
- if(address.equals("address") == false) stmt.setString(2, address);
- else stmt.setString(2, null);
- stmt.execute();
- String phoneSQL = "INSERT INTO userphonenumbers" +
- " VALUES(?, ?)";
- stmt = conn.prepareStatement(phoneSQL);
- stmt.setString(1, id);
- if(phonenumber.equals("phonenumber") == false) stmt.setString(2, phonenumber);
- else stmt.setString(2, null);
- System.out.println(stmt.toString());
- stmt.execute();
- String emailSQL = "INSERT INTO useremails" +
- " VALUES(?, ?)";
- stmt = conn.prepareStatement(emailSQL);
- stmt.setString(1, id);
- if(emailaccount.equals("emailaccount") == false) stmt.setString(2, emailaccount);
- else stmt.setString(2, null);
- System.out.println(stmt.toString());
- stmt.execute();
- String nameSQL = "INSERT INTO usernames" +
- " VALUES(?, ?)";
- stmt = conn.prepareStatement(nameSQL);
- stmt.setString(1, id);
- if(fullname.equals("fullname") == false) stmt.setString(2, fullname);
- else stmt.setString(2, null);
- System.out.println(stmt.toString());
- stmt.execute();
- String studentsSQL = "INSERT INTO students" +
- " VALUES(?, ?)";
- stmt = conn.prepareStatement(studentsSQL);
- stmt.setString(1, id);
- if(programme.equals("programme") == false) stmt.setString(2, programme);
- else stmt.setString(2, null);
- System.out.println(stmt.toString());
- stmt.execute();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- System.out.println("Student with ID: " + id + " created");
- }
- public void createAdmin(String id, String address, String phonenumber, String emailaccount, String fullname, String department, String COaddress, String bostadsaddress, String postaddress, String postnummer, String personalphone) {
- String SQL = "INSERT INTO USERS" +
- " VALUES(?, ?, 0)";
- System.out.println("Creating admin...");
- PreparedStatement stmt;
- try {
- stmt = conn.prepareStatement(SQL);
- stmt.setString(1, id);
- if(address.equals("address") == false) stmt.setString(2, address);
- else stmt.setString(2, null);
- stmt.execute();
- String phoneSQL = "INSERT INTO userphonenumbers" +
- " VALUES(?, ?)";
- stmt = conn.prepareStatement(phoneSQL);
- stmt.setString(1, id);
- if(phonenumber.equals("phonenumber") == false) stmt.setString(2, phonenumber);
- else stmt.setString(2, null);
- System.out.println(stmt.toString());
- stmt.execute();
- String emailSQL = "INSERT INTO useremails" +
- " VALUES(?, ?)";
- stmt = conn.prepareStatement(emailSQL);
- stmt.setString(1, id);
- if(emailaccount.equals("emailaccount") == false) stmt.setString(2, emailaccount);
- else stmt.setString(2, null);
- System.out.println(stmt.toString());
- stmt.execute();
- String nameSQL = "INSERT INTO usernames" +
- " VALUES(?, ?)";
- stmt = conn.prepareStatement(nameSQL);
- stmt.setString(1, id);
- if(fullname.equals("fullname") == false) stmt.setString(2, fullname);
- else stmt.setString(2, null);
- System.out.println(stmt.toString());
- stmt.execute();
- String adminSQL = "INSERT INTO administrators" +
- " VALUES(?, ?, ?, ?, ?, ?)";
- stmt = conn.prepareStatement(adminSQL);
- stmt.setString(1, id);
- if(department.equals("department") == false) stmt.setString(2, department);
- else stmt.setString(2, null);
- if(COaddress.equals("COaddress") == false) stmt.setString(3, COaddress);
- else stmt.setString(3, null);
- if(bostadsaddress.equals("bostadsaddress") == false) stmt.setString(4, bostadsaddress);
- else stmt.setString(4, null);
- if(postaddress.equals("postaddress") == false) stmt.setString(5, postaddress);
- else stmt.setString(5, null);
- if(postnummer.equals("postnummer") == false) stmt.setString(6, postnummer);
- else stmt.setString(6, null);
- System.out.println(stmt.toString());
- stmt.execute();
- String personalphoneSQL = "INSERT INTO adminpersonalphone" +
- " VALUES(?, ?)";
- stmt = conn.prepareStatement(personalphoneSQL);
- stmt.setString(1, id);
- if(personalphone.equals("personalphone") == false) stmt.setString(2, personalphone);
- else stmt.setString(2, null);
- System.out.println(stmt.toString());
- stmt.execute();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- System.out.println("Admin with ID: " + id + " created");
- }
- public String searchStudent(String id, String address, String phonenumber, String emailaccount, String fullname, String programme) {
- StringBuilder sb = new StringBuilder();
- this.first = true;
- String SQL = "SELECT students.userid, address, phonenumber, emailaccount, fullname, programme FROM students" +
- " INNER JOIN users ON students.userid = users.userid" +
- " INNER JOIN userphonenumbers ON students.userid = userphonenumbers.userid" +
- " INNER JOIN useremails ON students.userid = useremails.userid" +
- " INNER JOIN usernames ON students.userid = usernames.userid";
- if(id.equals("userid") == false) {
- SQL += firstCheck() + " students.userid = " + id + " AND";
- }
- if(address.equals("address") == false) {
- SQL += firstCheck() + " users.address = " + "\"" + address + "\"" + " AND";
- }
- if(phonenumber.equals("phonenumber") == false) {
- SQL += firstCheck() + " usersphonenumbers.phonenumber = " + "\"" + phonenumber + "\"" + " AND";
- }
- if(emailaccount.equals("emailaccount") == false) {
- SQL += firstCheck() + " useremails.emailaccount = " + "\"" + emailaccount + "\"" + " AND";
- }
- if(fullname.equals("fullname") == false) {
- SQL += firstCheck() + " usernames.fullname = " + "\"" + fullname + "\"" + " AND";
- }
- if(programme.equals("programme") == false) {
- SQL += firstCheck() + " students.programme = " + "\"" + programme + "\"" + " AND";
- }
- if(!this.first) SQL = SQL.substring(0, SQL.length()-3);
- PreparedStatement stmt;
- try {
- System.out.println(SQL);
- stmt = conn.prepareStatement(SQL);
- ResultSet r = stmt.executeQuery();
- while(r.next()) {
- sb.append("user with userid: " + r.getInt("userid") + ", ");
- sb.append("user with address: " + r.getString("address") + ", ");
- sb.append("user with phonenumber: " + r.getString("phonenumber") + ", ");
- sb.append("user with emailaccount: " + r.getString("emailaccount") + ", ");
- sb.append("user with fullname: " + r.getString("fullname") + ", ");
- sb.append("user with programme: " + r.getString("programme"));
- sb.append("\n");
- }
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return sb.toString();
- }
- public String searchAdmin(String id, String address, String phonenumber, String emailaccount, String fullname, String department, String COaddress, String bostadsaddress, String postaddress, String postnummer, String personalphone) {
- StringBuilder sb = new StringBuilder();
- this.first = true;
- String SQL = "SELECT administrators.userid, address, phonenumber, emailaccount, fullname, department, coadress, bostadsadress, postadress, postnummer, privatenumber FROM administrators" +
- " INNER JOIN users ON administrators.userid = users.userid" +
- " INNER JOIN userphonenumbers ON administrators.userid = userphonenumbers.userid" +
- " INNER JOIN useremails ON administrators.userid = useremails.userid" +
- " INNER JOIN usernames ON administrators.userid = usernames.userid" +
- " INNER JOIN adminpersonalphone ON administrators.userid = adminpersonalphone.userid";
- if(id.equals("userid") == false) {
- SQL += firstCheck() + " administrators.userid = " + id + " AND";
- }
- if(address.equals("address") == false) {
- SQL += firstCheck() + " users.address = " + "\"" + address + "\"" + " AND";
- }
- if(phonenumber.equals("phonenumber") == false) {
- SQL += firstCheck() + " usersphonenumbers.phonenumber = " + "\"" + phonenumber + "\"" + " AND";
- }
- if(emailaccount.equals("emailaccount") == false) {
- SQL += firstCheck() + " useremails.emailaccount = " + "\"" + emailaccount + "\"" + " AND";
- }
- if(fullname.equals("fullname") == false) {
- SQL += firstCheck() + " usernames.fullname = " + "\"" + fullname + "\"" + " AND";
- }
- if(department.equals("department") == false) {
- SQL += firstCheck() + " administrators.department = " + "\"" + department + "\"" + " AND";
- }
- if(COaddress.equals("COaddress") == false) {
- SQL += firstCheck() + " administrators.coadress = " + "\"" + COaddress + "\"" + " AND";
- }
- if(bostadsaddress.equals("bostadsaddress") == false) {
- SQL += firstCheck() + " administrators.bostadsadress = " + "\"" + bostadsaddress + "\"" + " AND";
- }
- if(postaddress.equals("postaddress") == false) {
- SQL += firstCheck() + " administrators.postadress = " + "\"" + postaddress + "\"" + " AND";
- }
- if(postnummer.equals("postnummer") == false) {
- SQL += firstCheck() + " administrators.postnummer = " + "\"" + postnummer + "\"" + " AND";
- }
- if(personalphone.equals("personalphone") == false) {
- SQL += firstCheck() + " adminpersonalphone.privatenumber = " + "\"" + personalphone + "\"" + " AND";
- }
- if(!this.first) SQL = SQL.substring(0, SQL.length()-3);
- PreparedStatement stmt;
- try {
- System.out.println(SQL);
- stmt = conn.prepareStatement(SQL);
- ResultSet r = stmt.executeQuery();
- while(r.next()) {
- sb.append("user with userid: " + r.getInt("userid") + ", ");
- sb.append("user with address: " + r.getString("address") + ", ");
- sb.append("user with phonenumber: " + r.getString("phonenumber") + ", ");
- sb.append("user with emailaccount: " + r.getString("emailaccount") + ", ");
- sb.append("user with fullname: " + r.getString("fullname") + ", ");
- sb.append("user with department: " + r.getString("department"));
- sb.append("user with COaddress: " + r.getString("coadress"));
- sb.append("user with bostadsadress: " + r.getString("bostadsadress"));
- sb.append("user with postadress: " + r.getString("postadress"));
- sb.append("user with postnummer: " + r.getString("postnummer"));
- sb.append("user with personalphone: " + r.getString("privatenumber"));
- sb.append("\n");
- }
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return sb.toString();
- }
- public void editStudent(String id, String editid, String editAddress, String editPhonenumber, String editEmailaccount, String editFullname, String editProgramme) {
- PreparedStatement stmt = null;
- try {
- if(editid.equals("edituserid") == false) {
- String SQL = "UPDATE users" +
- " SET userid = " + editid +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editAddress.equals("editaddress") == false) {
- String SQL = "UPDATE users" +
- " SET address = " + "\"" + editAddress + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editPhonenumber.equals("editphonenumber") == false) {
- String SQL = "UPDATE userphonenumbers" +
- " SET phonenumber = " + "\"" + editPhonenumber + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editEmailaccount.equals("editemailaccount") == false) {
- String SQL = "UPDATE useremails" +
- " SET emailaccount = " + "\"" + editEmailaccount + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editFullname.equals("editfullname") == false) {
- String SQL = "UPDATE usernames" +
- " SET fullname = " + "\"" + editFullname + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editProgramme.equals("editprogramme") == false) {
- String SQL = "UPDATE students" +
- " SET programme = " + "\"" + editProgramme + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public void editAdmin(String id, String editid, String editAddress, String editPhonenumber, String editEmailaccount, String editFullname, String editDepartment, String editCOaddress, String editBostadsaddress, String editPostaddress, String editPostnummer, String editPersonalphone) {
- PreparedStatement stmt = null;
- try {
- if(editid.equals("edituserid") == false) {
- String SQL = "UPDATE users" +
- " SET userid = " + editid +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editAddress.equals("editaddress") == false) {
- String SQL = "UPDATE users" +
- " SET address = " + "\"" + editAddress + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editPhonenumber.equals("editphonenumber") == false) {
- String SQL = "UPDATE userphonenumbers" +
- " SET phonenumber = " + "\"" + editPhonenumber + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editEmailaccount.equals("editemailaccount") == false) {
- String SQL = "UPDATE useremails" +
- " SET emailaccount = " + "\"" + editEmailaccount + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editFullname.equals("editfullname") == false) {
- String SQL = "UPDATE usernames" +
- " SET fullname = " + "\"" + editFullname + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editDepartment.equals("editdepartment") == false) {
- String SQL = "UPDATE administrators" +
- " SET department = " + "\"" + editDepartment + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editCOaddress.equals("editCOaddress") == false) {
- String SQL = "UPDATE administrators" +
- " SET COadress = " + "\"" + editCOaddress + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editBostadsaddress.equals("editbostadsaddress") == false) {
- String SQL = "UPDATE administrators" +
- " SET bostadsadress = " + "\"" + editBostadsaddress + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editPostaddress.equals("editpostaddress") == false) {
- String SQL = "UPDATE administrators" +
- " SET postadress = " + "\"" + editPostaddress + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editPostnummer.equals("editpostnummer") == false) {
- String SQL = "UPDATE administrators" +
- " SET postnummer = " + "\"" + editPostnummer + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- if(editPersonalphone.equals("editpersonalphone") == false) {
- String SQL = "UPDATE adminpersonalphone" +
- " SET privatenumber = " + "\"" + editPersonalphone + "\"" +
- " WHERE userid = " + id;
- stmt = conn.prepareStatement(SQL);
- stmt.execute();
- System.out.println("update successful");
- }
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public String firstCheck() {
- if(this.first) {
- this.first = false;
- return " WHERE";
- }
- else return "";
- }
- }
Add Comment
Please, Sign In to add comment