package database;
import fungsi.Admin;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import java.sql.Connection;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTextField;
public class dbAdmin {
private Connection koneksi;
public dbAdmin() {
try {
Class.forName(Config.DATABASE_DRIVER).newInstance();
koneksi = DriverManager.getConnection(Config.URL, Config.username,
Config.password);
} catch (InstantiationException | IllegalAccessException
| ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void addAdmin(Admin a) {
try {
Statement stmt = koneksi.createStatement();
stmt.executeUpdate("INSERT INTO Admin VALUES('UNIQUEKEY ('Admin')','"
+ a.getAkses()
+ "','"
+ a.getNama()
+ "','"
+ a.getUsername() + "','" + a.getPassword() + "')");
stmt.close();
} catch (SQLException x) {
x.printStackTrace();
}
}
public void deleteAdmin(String username) {
try {
Statement stmt = koneksi.createStatement();
stmt.executeUpdate("delete from Admin where username = '"
+ username + " ')");
stmt.close();
} catch (SQLException x) {
x.printStackTrace();
}
}
public void updateAdmin(String username, Admin a) {
try {
Statement stmt = koneksi.createStatement();
stmt.executeUpdate("UPDATE Admin SET nama = '" + a.getNama()
+ "','" + a.getUsername() + "','" + a.getPassword() + "','"
+ a.getAkses() + "')");
stmt.close();
} catch (SQLException x) {
x.printStackTrace();
}
}
public Admin cariByUsername(String username) {
Admin aHasil = null;
try {
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt
.executeQuery("SELECT * FROM Admin WHERE username='"
+ username + "'");
while (rs.next()) {
int id = rs.getInt(1);
String akses = rs.getString(2);
String nama = rs.getString(3);
String userx = rs.getString(4);
String password = rs.getString(5);
aHasil = new Admin(id, nama, userx, password, akses);
}
stmt.close();
} catch (SQLException x) {
x.printStackTrace();
}
return aHasil;
}
public Vector<Admin> viewAll() {
Vector<Admin> vHasil = new Vector<Admin>();
Admin aHasil = null;
try {
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM Admin");
while (rs.next()) {
int id = rs.getInt(1);
String akses = rs.getString(2);
String nama = rs.getString(3);
String username = rs.getString(4);
String password = rs.getString(5);
aHasil = new Admin(id, nama, username, password, akses);
vHasil.add(aHasil);
}
stmt.close();
} catch (SQLException x) {
x.printStackTrace();
}
return vHasil;
}
public Vector<Admin> viewAll(String username) {
Vector<Admin> vHasil = new Vector<Admin>();
Admin aHasil = null;
try {
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt
.executeQuery("SELECT * FROM Admin WHERE username like '"
+ username + "'");
while (rs.next()) {
int id = rs.getInt(1);
String akses = rs.getString(2);
String nama = rs.getString(3);
String usrx = rs.getString(4);
String password = rs.getString(5);
aHasil = new Admin(id, nama, usrx, password, akses);
vHasil.add(aHasil);
}
stmt.close();
} catch (SQLException x) {
x.printStackTrace();
}
return vHasil;
}
public void editAdmin(JTextField user,JTextField nama, JTextField pass2, JComboBox cboAkses, JTable table, int row){
if((nama.getText().equals(""))){
JOptionPane.showMessageDialog(null, "Field Harus Terisi Semua!", "Error!", JOptionPane.ERROR_MESSAGE);
}
else{
try{
if(pass2.getText().equals("")){
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt.executeQuery("update Admin set akses = '"+cboAkses.getSelectedItem().toString()+"', nama = '"+ nama.getText()+"' where username = '"+user.getText()+"' ");
JOptionPane.showMessageDialog(null, "User Berhasil diupdate!", "Update Succes", JOptionPane.INFORMATION_MESSAGE);
table.setValueAt(cboAkses.getSelectedItem().toString(), row, 1);
table.setValueAt(nama.getText(), row, 2);
}
else{
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt.executeQuery("update Admin set akses = '"+cboAkses.getSelectedItem().toString()+"', nama = '"+ nama.getText()+"', password = '"+ pass2.getText() +"' where username = '"+user.getText()+"' ");
JOptionPane.showMessageDialog(null, "User Berhasil diupdate!", "Update Succes", JOptionPane.INFORMATION_MESSAGE);
table.setValueAt(cboAkses.getSelectedItem().toString(), row, 1);
table.setValueAt(nama.getText(), row, 2);
}
}
catch(SQLException e){
e.printStackTrace();
}
}
}
}