/* 
* 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 administrador.datos;

import administrador.utiles.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class BaseDeDatos {

    private Connection conexion = null;
    static String url = null;
    static String maquinaActual = "XXX";

    public Connection estableceConexion(String maquina) {
        if (!maquinaActual.equalsIgnoreCase(maquina)) {
            url = null;
            maquinaActual = maquina;
        }
        if (url == null) {
            url = "jdbc:jtds:sqlserver://" + maquina + "/ateneo" +
                    ";user=ServidorAteneo;password=oenetA";
        }
        try {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
        } catch (java.lang.ClassNotFoundException e) {
            Global.MsgBox("No se han podido cargar las clases de acceso a SqlServer\n" +
                    "Compruebe que el fichero jtds-1.2.jar está en la misma carpeta que Administrador.jar");
        }
        try {
            conexion = DriverManager.getConnection(url);
            return conexion;
        } catch (SQLException e) {
            String url2 = "jdbc:jtds:sqlserver://" + maquina + "/ateneo" +
                    ";instance=ATENEO;user=ServidorAteneo;password=oenetA";
            try {
                conexion = DriverManager.getConnection(url2);
                url = url2;
                return conexion;
            } catch (SQLException e2) {
                Global.MsgBox("¡¡ No se encuentra la base de datos del servidor.!! \n\n");
            }
        }
        return null;
    }

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

    public void cierraConexion() {
        try {
            conexion.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public int SQL(String sql) throws SQLException {
        Statement stmt = conexion.createStatement();
        int n = stmt.executeUpdate(sql);
        stmt.close();
        return n;
    }
}
