/* 
* Copyright 2016 Agencia Estatal de Administración Tibutaria
*
* Licencia con arreglo a la EUPL, Versión 1.1 o –en cuanto
* sean aprobadas por la Comisión Europea– versiones
* posteriores de la EUPL (la «Licencia»);
* Solo podrá usarse esta obra si se respeta la Licencia.
* Puede obtenerse una copia de la Licencia en:
*  
* https://joinup.ec.europa.eu/software/page/eupl
*  
* Salvo cuando lo exija la legislación aplicable o se acuerde
* por escrito, el programa distribuido con arreglo a la
* Licencia se distribuye «TAL CUAL», SIN GARANTÍAS NI CONDICIONES
* DE NINGÚN TIPO, ni expresasni implícitas.
*
* Véase la Licencia en el idioma concreto que rige los permisos y 
* limitaciones que establece la Licencia.
*/ 

package Datos;

import java.sql.*;
import javax.swing.JOptionPane;

public class BaseDeDatos {

    private Connection conexion = null;
    String maquina = "";
    String url;
    String nombreBD = "ateneo";

    public BaseDeDatos() {
        try {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
        } catch (java.lang.ClassNotFoundException e) {
            System.err.println("ClassNotFoundException: " + e.getMessage());
        }
        nombreBD = Datos.Variables.getVariables().getNombreBasdatos();
        maquina = Datos.Variables.getVariables().getNombreMaquina();
        //  url = "jdbc:jtds:sqlserver://" + maquina + "/ateneo" + ";user=ServidorAteneo;password=oenetA";
        url = "jdbc:jtds:sqlserver://" + maquina + "/" + nombreBD + ";instance=ATENEO;user=ServidorAteneo;password=oenetA";
    }

    public void estableceConexion() {
        if (conexion != null) {
            return;
        }
        try {
            conexion = DriverManager.getConnection(url);
        } catch (SQLException e) {
            String url2 = "jdbc:jtds:sqlserver://" + maquina + "/" + nombreBD
                    + ";instance=ATENEO;user=ServidorAteneo;password=oenetA";
            try {
                conexion = DriverManager.getConnection(url2);
                url = url2;
            } catch (SQLException e2) {
                javax.swing.JOptionPane.showMessageDialog(null,
                        "¡¡ No se encuentra la base de datos del servidor.!! \n\n" + maquina);
                System.exit(-1);
            }
        }
    }

    public ResultSet dameLista(String sql) {
        ResultSet rs = null;
        try {
            Statement s = conexion.createStatement();
            rs = s.executeQuery(sql);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return rs;
    }

    /**
     * Cierra la conexión con la base de datos
     */
    public void cierraConexion() {
        try {
            conexion.close();
            conexion = null;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
