Foros del Web » Programación para mayores de 30 ;) » Java »

aplicacion swing con conexion base de datos

Estas en el tema de aplicacion swing con conexion base de datos en el foro de Java en Foros del Web. Hola a todos! A ver si me podeis echar una mano porque me estoy volviendo loco. Estoy intentando hacer una apliciación en java con objetos ...
  #1 (permalink)  
Antiguo 21/09/2009, 09:38
 
Fecha de Ingreso: abril-2006
Ubicación: Burgos
Mensajes: 101
Antigüedad: 18 años
Puntos: 0
aplicacion swing con conexion base de datos

Hola a todos!
A ver si me podeis echar una mano porque me estoy volviendo loco.
Estoy intentando hacer una apliciación en java con objetos y conexión a base de datos sql server.
Tengo varias ventanas, en una tengo el main, otra extiende de Jframe, tengo otras que extienden de jpanel y otra donde hago la conexion con la base de datos.
Bueno el caso es que tengo este código (sólo pongo los constructores):
Código:
import java.io.*;
public class Principal {
    public Principal() throws ClassNotFoundException,
            java.sql.SQLException, InstantiationException,
            IllegalAccessException{        
    }
    public static void main (String args[])throws IOException{
        Principal objAp = null;
        try{
            objAp = new Principal();
            //Aspecto de la interfaz gráfica
            javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
        }catch (Exception e){
            System.out.println("No se pudo establecer el aspecto deseado: " + e);
        }
        new Temporada().setVisible(true);
    }
}
Código:
import java.io.*;
import java.awt.event.ActionEvent;
public class Temporada extends javax.swing.JFrame{
    private static BDQuinielas BD; // objeto de tipo BDQuinielas

    public Temporada() throws ClassNotFoundException,
            java.sql.SQLException, InstantiationException,
            IllegalAccessException{
        BD = new BDQuinielas();
        new Liga(this, true).setVisible(true);
        setSize(600,600);
        initComponents();
        setLocationRelativeTo(null); // centrar la ventana
        setVisible(true);
    }
}
Código:
public class BDQuinielas {
    private java.sql.Connection conexión;
    private java.sql.Statement sentenciaSQL;
    private java.sql.ResultSet cdr; //conjunto de resultados

    public BDQuinielas() throws ClassNotFoundException,
            java.sql.SQLException, InstantiationException,
            IllegalAccessException{
        //Cargar el controlador JDBC-ODBC
        String controlador = "sun.jdbc.odbc.JdbcOdbcDriver";
        Class.forName(controlador).newInstance();
        conectar(); //conectar con el origen de datos
    }
    public void conectar() throws java.sql.SQLException{
        String URL_bd = "jdbc:odbc:bd-quinielas";
        String usuario = "";
        String contraseña = "";
        //Conectar con la BD
        conexión = java.sql.DriverManager.getConnection(URL_bd, usuario, contraseña);
        //Crear una sentencia SQL
        sentenciaSQL = conexión.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,
                                                java.sql.ResultSet.CONCUR_UPDATABLE);
        System.out.println("\nConexión realizada con éxito.\n");
    }
    public void cerrarConexion() throws java.sql.SQLException{
        if(cdr != null) cdr.close();
        if(sentenciaSQL != null) sentenciaSQL.close();
        if(conexión != null) conexión.close();
    }
}
Como ya habréis intuido se trata de una aplicación que estoy realizando para visualizar resultados de los partidos de fútbol y realizar estadísticas.
El problema salta en la línea
Código:
new Temporada().setVisible(true);
de la clase Principal. Salta con el siguiente error:
Código:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown
        at quinielas.Principal.main(Principal.java:30)
Yo creo que el problema está en el constructor, pero no tengo ni idea.
__________________
Gigabyte GA-MA78GM-S2H | AMD X2 5400 | 2 x 1 GB DDR2 800 | 7600 Gt 256 Mb | AC97 Audio | Circuit Planet

http://todoaestribor.site88.net
  #2 (permalink)  
Antiguo 21/09/2009, 17:15
Avatar de YnotZero  
Fecha de Ingreso: diciembre-2006
Ubicación: Frente a mi computadora
Mensajes: 14
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: aplicacion swing con conexion base de datos

mmm, SQL server no lo conosco bien, pero no he oido cosas buenas de el, en mi experiencia yo he trabajado con coneciones java-mysql, y es mucho mejor, te recomiendo eso, y si decides usar sql, pues ha segir buscando como solucionar tu problema.
  #3 (permalink)  
Antiguo 21/09/2009, 18:40
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: aplicacion swing con conexion base de datos

Hola,

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - unreported exception java.lang.ClassNotFoundException; ....

Código Java:
Ver original
  1. try {
  2.             new Temporada().setVisible(true);
  3.         } catch (Exception ex) {
  4.             System.out.println("Ocurrio un error : " + ex);
  5.         }

Posiblemente tengas mal configurado el origen de datos en el administrador de ODBC, en SQL Server 2005 y el JDK 1.6 y el origen bien configurado se ejecuta correctamente.

SQL Server 2005:
Conexión realizada con éxito.

Saludos,
  #4 (permalink)  
Antiguo 22/09/2009, 08:06
 
Fecha de Ingreso: abril-2006
Ubicación: Burgos
Mensajes: 101
Antigüedad: 18 años
Puntos: 0
Respuesta: aplicacion swing con conexion base de datos

Ya lo tengo solucionado, faltaba el control de errores. Al final sólo he cambiado la clase principal donde tengo el main, y me queda de la siguiente manera:
Código:
import java.io.*;
public class Principal {
    public Principal() throws ClassNotFoundException,
            java.sql.SQLException, InstantiationException,
            IllegalAccessException{
        try{
            //Aspecto de la interfaz gráfica
            javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
        }catch(Exception e){
            System.out.println("No se pudo establecer el aspecto deseado: " + e);
        }
        new Temporada().setVisible(true);
    }
    public static void main (String args[])throws IOException{
        Principal objAp = null;
        try{
            objAp = new Principal();
        }
        catch (ClassNotFoundException e){
            System.out.println(e.getMessage());
        }catch(InstantiationException e){
            System.out.println(e.getMessage());
        }catch(IllegalAccessException e){
            System.out.println(e.getMessage());
        }catch(java.sql.SQLException e){
            System.out.println(e.getMessage());
        }
    }

}
Gracias de todas formas por contestar.
__________________
Gigabyte GA-MA78GM-S2H | AMD X2 5400 | 2 x 1 GB DDR2 800 | 7600 Gt 256 Mb | AC97 Audio | Circuit Planet

http://todoaestribor.site88.net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:04.