elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  problemas en consultas sql java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problemas en consultas sql java  (Leído 2,272 veces)
miniricky

Desconectado Desconectado

Mensajes: 2


Ver Perfil
problemas en consultas sql java
« en: 22 Enero 2014, 20:11 pm »

pues empezamos por lo primero Buenas Tardes!!

mi problema es que quiero realizar una consulta sql, dentro de un sentencia de control if y me manda error de compartibilidad de tipos,

Este es el error, lo demas funciona bien, incluso cambien la consulta por un metodo para validar cajas de texto y me corrio bien solo que debo de dar doble clic para que accese.

Código:
    if(tran.consultar(sqlStmt)){

la clase transaccion donde creo los metodos para relizar consultas
Código:
public class Transaccion {
private String query;
    private Statement stmt;
    public ResultSet res;
    private Connection conn = null;

     public Transaccion(Connection conn) {
        this.conn = conn;
        this.res = null;
        this.query = "";
        this.stmt = null;
    }

    public ResultSet getRes() {
        return res;
    }

    // realiza consultas sobre la base de datos
[color=red]    public void consultar(String query) {
        try {
            if (conn != null) {
                stmt = conn.createStatement();
                res = stmt.executeQuery(query);
            }
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }[/color]

    public void actualiza(String query) {
        try {
            if (conn != null) {
                stmt = conn.createStatement();
                stmt.executeUpdate(query);
            }
            }catch(SQLException e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

       

     public void Desconectar(){
         try{
             res.close();
             stmt.close();
             conn.close();
         }catch(SQLException e){
             JOptionPane.showMessageDialog(null, e);
         }
     }

intento hacer una conexion a la base de datos para acceder a un Jdialog
Código:
    private void butaceptarActionPerformed(java.awt.event.ActionEvent evt) {                                           

        try {
            tran = new Transaccion(conn.getConn());
            conn.conectar();
        } catch (Exception ex) {
            Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
        }

        String sqlStmt;
        // Verifico que esta intentando ingresar
        //preparo el query o la sentencia
        if (butaceptar.getText() == "aceptar") {
            // Prepara Variable para realizar el Query
            if (validarcajas()) {


                sqlStmt = "Select * from logeo";
                sqlStmt += " Where usuario='" + txtusuario.getText() + "'";
                sqlStmt += " And contraseña='" + String.valueOf(txtcontraseña.getPassword()) + "'";

                // Ejecuto la Consulta o query
                tran.consultar(sqlStmt);

                try {
                   [color=red][s]if(tran.consultar(sqlStmt))[/s][/color]{
                    //verifica que haya encontrado un registro
                    if (tran.getRes().next()) {

                        txtnombre.setText(tran.getRes().getString("nombre"));
                        txtrol.setText(tran.getRes().getString("rol"));

                        //Cambio el Texto del Boton
                        butaceptar.setText("Ingresar");
                        //Deshabilito Cancelar
                        butcancelar.setEnabled(false);
                    } else {
                        txtnombre.setText("Usuario y Cotraseña Incorrectos");
                        txtrol.setText("Intenta de Nuevo ...");
                    }
                    tran.Desconectar();
                    }
                   
                 
                } catch (RuntimeException e) {
                    // Mensaje de que no logrola conexion
                   
                } catch (com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException e) {
                    // Mensaje de que no logrola conexion
                    JOptionPane.showMessageDialog(null, e);
                } catch (SQLException ex) {
                    Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        } else {
            // Bievenido
            JOptionPane.showMessageDialog(null, "Ingresando al Sistema");
            conn.Desconectar();

            BarraDeMenu ventana = new BarraDeMenu();
            ventana.show();
            dispose();
        }
    }           


Espero y sea entendible ya que es mi primer post' GRACIAS!!


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: problemas en consultas sql java
« Respuesta #1 en: 23 Enero 2014, 04:01 am »

1. Bienvenido
2. Utiliza el geshi con la opcion de java

Citar
[ code=java ]
aqui tu codigo
[ /code ]

3. Compartibilidad??, no séra compatibilidad?
4. Haz un System.out.print(sqlStmt); copia y pegalo en tu consola de sql para ver si funciona.
5. Revisa que el tipo de datos y tamaño de tus campos en la base de datos sean los adecuados.


« Última modificación: 23 Enero 2014, 16:54 pm por Darhius » En línea

abc
miniricky

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: problemas en consultas sql java
« Respuesta #2 en: 23 Enero 2014, 04:42 am »

bueno la sentencia es correcta, de hecho muestra los datos de la bd

el problema en si es como meter la consulta

Código:
public void consultar(String query) {
        try {
            if (conn != null) {
                stmt = conn.createStatement();
                res = stmt.executeQuery(query);
            }
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

en la sentencia de control

Código:
if(tran.consultar(sqlStmt))

es hay donde me marca error de compatibilidad

una manera de solucionarlo seria pasando el metodo void a boolean pero necesitaria cambiar la estructura de la clase

lo que quiero es saber si hay alguna forma de evitar eso, algo como un parse
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: problemas en consultas sql java
« Respuesta #3 en: 24 Enero 2014, 00:27 am »

Vienes de php o algo así' :P


una manera de solucionarlo seria pasando el metodo void a boolean pero necesitaria cambiar la estructura de la clase

pues sí eso...

otra manera es teniendo métodos para validar el resultado de tu consulta

public boolean esVacio
por ejemplo para revisar si tu consulta regresa resultados mediante un select count

un método para verificar si retorna un error utilizando un try catch

Código
  1. public boolean error(String query) {
  2.   boolean error = false;
  3.    try {
  4.        String query = "Select ....";
  5.        error = false;
  6.  
  7.    } catch (Exception e) { // si llega al catch significa que algo está mal con el query
  8.        System.err.println("Got an exception!");
  9.        System.err.println(e.getMessage());
  10.        error = true;
  11.    }
  12.    return error;
  13. }
  14.  

Espero te sirva de algo, saludos.
En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
PRoblemas con java !!!
Java
iory330 2 2,845 Último mensaje 9 Octubre 2009, 18:11 pm
por iory330
consultas de sql en java!!!
Java
liloflower 2 3,008 Último mensaje 14 Octubre 2012, 02:53 am
por liloflower
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines