miércoles, 25 de noviembre de 2015

Clase BaseDatos

package pacman;
/*
 * Clase que me gestiona la conexion a la base de datos mysql
 * */
import java.sql.*;

import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class BaseDatos {

Connection conexion = null;


public void conectar(){
try{

conexion = DriverManager.getConnection("jdbc:sqlserver://localhost:17015","sa","prueba");
//establece conexion
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null, "No se logro establecer conexion con la base de datos","Error", JOptionPane.ERROR_MESSAGE);
}

catch(Exception e){
JOptionPane.showMessageDialog(null, "No se logro establecer conexion con la base de datos","Error", JOptionPane.ERROR_MESSAGE);
}

}

public ResultSet consultar(String sql){
//Establecer Conexion.
this.conectar();
ResultSet rs = null;
Statement sentencia = null;
try {
sentencia = conexion.createStatement();
rs = sentencia.executeQuery(sql);
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null, "No logro ejecutar Correctamente la consulta","Error", JOptionPane.ERROR_MESSAGE);
}

catch(Exception e){
JOptionPane.showMessageDialog(null, "No Logro ejecutar Correctamente la consulta","Error", JOptionPane.ERROR_MESSAGE);
}

return rs;
}

public  boolean validaLoginUser (String id, String passwd){

boolean respuesta = false;
ResultSet rs = null;
String sql = "SELECT * FROM fnd_users Where usuario = '"+id+"' and passwd = '"+passwd+"'";
rs = this.consultar(sql);

try{
  while(rs.next()){
  respuesta = true;
}
  return respuesta;
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null, "No se logro establecer conexion con la base de datos","Error", JOptionPane.ERROR_MESSAGE);
}
catch(Exception ee){
JOptionPane.showMessageDialog(null, "No se logro establecer conexion con la base de datos","Error", JOptionPane.ERROR_MESSAGE);
}

return respuesta;

}


public  Integer getUserID (String id){

Integer respuesta=-1 ;
ResultSet rs = null;
String sql = "SELECT id FROM fnd_users Where usuario = '"+id+"'";
rs = this.consultar(sql);

try{
  while(rs.next()){
  respuesta = Integer.parseInt(rs.getString("id"));
}
  return respuesta;
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null, "No se logro establecer conexion con la base de datos","Error", JOptionPane.ERROR_MESSAGE);
}
catch(Exception ee){
JOptionPane.showMessageDialog(null, "No se logro establecer conexion con la base de datos","Error", JOptionPane.ERROR_MESSAGE);
}

return respuesta;

}


public boolean validaRegistracion (String id){

boolean respuesta = false;
ResultSet rs = null;
String sql = "SELECT * FROM fnd_users Where usuario = '"+id+"'";
rs = this.consultar(sql);


try{
while(rs.next()){
respuesta = true;
}
return respuesta;
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null, "No se logro establecer conexion con la base de datos","Error", JOptionPane.ERROR_MESSAGE);
}
catch(Exception ee){
JOptionPane.showMessageDialog(null, "No se logro establecer conexion con la base de datos","Error", JOptionPane.ERROR_MESSAGE);
}

return respuesta;

}


public void registrarse (String id, String passwd){
this.conectar();
Statement sentencia = null;

String sql = "insert into fnd_users"
+ " values (NEXT VALUE FOR seq_user_id,'"+id+"','"+passwd+"',SYSDATETIME());";

try {
sentencia = conexion.createStatement();
sentencia.executeUpdate(sql);
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null, "No logro ejecutar Insertar Correctamente la consulta","Error", JOptionPane.ERROR_MESSAGE);
}

catch(Exception e){
JOptionPane.showMessageDialog(null, "No logro ejecutar Insertar Correctamente la consulta","Error", JOptionPane.ERROR_MESSAGE);
}

}


public void insertarHistorial (String id, String personaje, int  resultado, int puntaje){

this.conectar();
Statement sentencia = null;

int userID =  getUserID(id);

String sql = "insert into fnd_history" +
" values ('"+userID+"','"+personaje+"','"+resultado+"','"+puntaje+"',SYSDATETIME());";

try {
sentencia = conexion.createStatement();
sentencia.executeUpdate(sql);
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null, "No logro ejecutar Insertar Historial","Error", JOptionPane.ERROR_MESSAGE);
}

catch(Exception e){
JOptionPane.showMessageDialog(null, "No logro ejecutar Insertar Historial","Error", JOptionPane.ERROR_MESSAGE);
}

}


public void consultarHistorial (JTextArea jtf, String user){
this.conectar();
Statement sentencia = null;
jtf.setText(null);

jtf.append("                    HISTORIAL                  " + "\n\n");
jtf.append("         Historial Del Usuario:  " +user.toUpperCase()    + "\n");
jtf.append(" -----------------------------------------------" + "\n");


String pganadas="0",pperdidas="0",pempate="0",ptotal="0";


jtf.append("               Historial como Pacman" +"\n");
jtf.append(" -----------------------------------------------" + "\n");

/* Consulto Historal Pacman*/
try {
sentencia = conexion.createStatement();

ResultSet rs = sentencia.executeQuery("Select * from fnd_history_p Where id = (Select id from fnd_users where usuario = '"+user.trim()+"');");

while (rs.next()){

  if (rs.getString("resultado").equals("1")){   // Paridas Ganadas
pganadas = rs.getString("cantidad");
ptotal = rs.getString("puntaje");
}

   if (rs.getString("resultado").equals("0"))   // Partidas Empate
pperdidas = rs.getString("cantidad");

if(rs.getString("resultado").equals("2"))   // Partidas Perdidas
pempate = rs.getString("cantidad");

        }
}
catch(SQLException ex){
//JOptionPane.showMessageDialog(null, "No logro ejecutar Insertar Correctamente la consulta","Error", JOptionPane.ERROR_MESSAGE);
jtf.append("No logro ejecutar Consultar Correctamente la consulta");
}

catch(Exception e){
//JOptionPane.showMessageDialog(null, "No logro ejecutar Insertar Correctamente la consulta","Error", JOptionPane.ERROR_MESSAGE);
jtf.append("No logro ejecutar Consultar Correctamente la consulta");
}


jtf.append( " Partidas Ganadas : "  + pganadas +"\n" +
" Partidas Perdidas: " + pperdidas +"\n" +
" Partidas Empatadas: " + pempate +"\n" +
" Puntaje Total: " + ptotal + "\n");
jtf.append(" -----------------------------------------------"+ "\n");

pganadas="0";
        pperdidas="0";
        pempate="0";
        ptotal="0";

        jtf.append("               Historial como Fantasma" +"\n");
        jtf.append(" -----------------------------------------------" + "\n");
/* Consulto Historal Pacman*/
try {
sentencia = conexion.createStatement();

ResultSet rs = sentencia.executeQuery("Select * from fnd_history_f Where id = (Select id from fnd_users where usuario = '"+user.trim()+"');");

while (rs.next()){

  if (rs.getString("resultado").equals("1")){   // Paridas Ganadas
pganadas = rs.getString("cantidad");
ptotal = rs.getString("puntaje");
}

   if (rs.getString("resultado").equals("0"))   // Partidas Empate
pperdidas = rs.getString("cantidad");

if(rs.getString("resultado").equals("2"))   // Partidas Perdidas
pempate = rs.getString("cantidad");

        }
}
catch(SQLException ex){
//JOptionPane.showMessageDialog(null, "No logro ejecutar Insertar Correctamente la consulta","Error", JOptionPane.ERROR_MESSAGE);
jtf.append("No logro ejecutar Consultar Correctamente la consulta");
}

catch(Exception e){
//JOptionPane.showMessageDialog(null, "No logro ejecutar Insertar Correctamente la consulta","Error", JOptionPane.ERROR_MESSAGE);
jtf.append("No logro ejecutar Consultar Correctamente la consulta");
}


jtf.append( " Partidas Ganadas : "  + pganadas +"\n" +
" Partidas Perdidas: " + pperdidas +"\n" +
" Partidas Empatadas: " + pempate +"\n" +
" Puntaje Total: " + ptotal + "\n");
jtf.append(" -----------------------------------------------");


}
}

No hay comentarios:

Publicar un comentario