package bancodados;

import java.sql.*;

public class Conexao {

    private String nomeDriver = "org.postgresql.Driver";
    private String localBancoDados = "jdbc:postgresql://localhost:5432/bancodados";
    private String usuario = "postgres";
    private String senha = "postgres";

    private Connection conexao = null;

    public Conexao() {
        conecta();
    }

    public void conecta() {
        try {
            Class.forName(nomeDriver).newInstance();
            conexao = DriverManager.getConnection(localBancoDados, usuario, senha);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public boolean autentica(String usuario, String senha) {
        boolean autenticado = false;
        usuario = usuario.replace("\'", "").replace("\"", "");
        senha = senha.replace("\'", "").replace("\"", "");

        try {
            Statement st = conexao.createStatement();
            ResultSet rs = st.executeQuery(
                    "SELECT usuario, senha "
                    + "FROM usuario "
                    + "WHERE usuario = \'" + usuario + "\' "
                    + "AND senha = \'" + senha + "\'");

            if (rs.next()) {
                autenticado = rs.getString("usuario").equals(usuario)
                        && rs.getString("senha").equals(senha);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return autenticado;
    }
    
    public ResultSet executaQuery(String sql) {
        ResultSet rs = null;
        try {
            Statement st = conexao.createStatement();
            rs = st.executeQuery(sql);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return rs;
    }
    
    public void excluiId(String id) {
        try {
            int iId = Integer.parseInt(id);
            
            Statement st = conexao.createStatement();
            st.execute("DELETE FROM usuario WHERE id=\'"+iId+"\'");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
