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.