En la página principal de los foros
encontrarás los enlaces al
feed general
y al de cada uno de los foros.
Subscribete para mantenerte informado de los cambios y responde a las dudas siempre que te sea posible
Hola, Estoy haciendo un programa con Java que envía peticion ...
Pues despues de haber trabajado mucho con ambos, yo te diría ...
Un reporteador aun mas completo que iText es JasperReports. ...
| Problemas Conexion con JDBC | 24/11/2008 22:10 | |
| anonymous |
Saludos amigos, bueno resulta que para trabajo del colegio tengo que hacer una pagina web sencilla con applet's java los cuales modifiquen una base de datos. Ya elegi que la base de datos seria en MySQL, usaria Jcreator como entorno de programacion.... en fin. Resulta que el codigo ya lo he hecho, con ayuda de un par de manuales que encontre en la web, a simple vista no parese haber errores ya que al compilar el archivo no presenta errores, pero al ejecutarlo presenta un conjunto de errores que no logro desifrar a que hacen referencia. Datos de la base de datos: Nombre: ejemplo Tablas: datos Campos: cod(int), nombre(varchar) Codigo Java import java.sql.*;public class jejemplo { public jejemplo(){   ; }   ; public boolean registrarJDBC(String driver){   ; try{   ; Class.forName(driver);   ; return true;   ; }catch(ClassNotFoundException ex) {   ; ex.printStackTrace();   ; return false;   ; }   ; }   ; public Connection realizarConexion(String url, String user, String pass){   ; try{   ; Connection con=DriverManager.getConnection(url,user,pass);   ; return con;   ; }catch (SQLException ex){   ; ex.printStackTrace();   ; return null;   ; }   ; }   ; public void cerrarConexion(Connection con){   ; try{   ; con span>.close();   ; System.out.println("Conexion cerrada");   ; }catch (SQLException ex){   ; ex.printStackTrace();   ; }   ; }   ; public void ejemploJDBC(){   ; if (registrarJDBC("com.mysql.jdbc.Driver")){   ; System.out.println("Conectado!");   ; Connection con=realizarConexion ("jdbc:mysql://localhost/ejemplo&qu ot;,"root","root");   ; if (con!=null){   ;   ; System.out.println("Conexion abierta !" ;);   ;   ; try {   ;   ; Statement stmt = con.createStatement();   ;   ; ResultSet rs=stmt.executeQuery("select cod, nombre  ;from datos;");   ;   ; while (rs.next()){   ;   ;   ; System.out.println(rs.getInt(1) + "," + rs.getString(2));   ;   ;   ;   ;   ; }   ;   ; rs.close();   ;   ; stmt.close();   ;   ; }catch (SQLException ex){   ;   ; ex.printStackTrace();   ;   ; }   ;   ; cerrarConexion(con);   ; }else{   ;   ; System.out.println("Conexion abortada :=(&q uot;);   ;   ; }   ; }else{   ;   ; System.out.println("Sorry...");   ; }   ; }   ; public static void main(String []args){   ; jejemplo jejemplo1=new jejemplo();   ; jejemplo1.ejemploJDBC();   ; }   ; } Eso es lo que tengo, los codigos de error son los siguientes: Si alguien me ayuda en este problemilla os lo agradesere eternamente, ya casi es dia de entregar el trabajo y me duele la cabeza de todo el tiempo que le he metido. De antemano mil gracias. |
|
|
||
| RE: Problemas Conexion con JDBC | 24/11/2008 22:32 | |
| kool_084 | Que tal la conexion parece correcta el error que tienes va por otrolado basicamente dice que no se puede aplicar un cast a tu clase para convertirla en applet, el problema debe estar en el run del Applet que usas, seguramente l aforma en la que llamas a esta clase desde el applet no es correcta, si puedes poner el codigo del Applet te podria ayudar mejor | |
|
||
| RE: RE: Problemas Conexion con JDBC | 24/11/2008 22:50 | |
| anonymous |
Amigo, gracias por responder. el codigo que esta en el mensaje es todo el que he hecho. Nohe hecho mas codigo, he probado de dos formas diferentes pero siempre me da el mismo error. Querer depurarlo me sale una ventana nueva con un codigo que nunca he hecho ni habia visto. Gracias de antemano por la ayuda. |
|
|
||
| RE: Problemas Conexion con JDBC | 24/11/2008 23:08 | |
| anonymous |
Oye como estas tratando de ejecutar tu codigo?? Con el Appletviewe??? si la respuesta es 'si' yo creo que por aqui va el problema, porque tu clase efectivamente no es un applet.
Saludos, Six!!!! |
|
|
||
| RE: Problemas Conexion con JDBC | 24/11/2008 23:49 | |
| anonymous |
AMigos, lo ejecuto sobre el mismo programa que escribo el codigo (jcreator), tambien desde una pagina html, pero tampoco. Gracias por ayudar. |
|
|
||
| RE: Problemas Conexion con JDBC | 25/11/2008 00:19 | |
| anonymous |
No pues yo nunce he usado jCreator, pero creo que tu problema se esta generando porque estas tratando de ejecutar una clase java como si fuera un Applet, lo digo por el metodo main que tiene tu clase, las clases applet no tienen metodo main, tampoco te estas extendiendo de la Clase java.applet.Applet o javax.swing.JApplet. No se que tan intuitivo es jcreator, pero te recomendaria usar algun IDE como NetBeans o Eclipse, que son muy faciles y rapidos de entender y de paso darle una repasada más a los applets. Saludos Six!!!!!! |
|
|
||
| RE: Problemas Conexion con JDBC | 25/11/2008 03:01 | |
| anonymous |
ok, puede que se por lo que me dices amigo Six, creo que se pueda deber a eso. Ahora, me podrias colaborar en como debo organizar mi codigo? Mira encontre que la sintaxis para un applet es asi: import javax.swing.JApplet;Este ejemplo me corre a la perfeccion, quisiera saber como organizar el primer codigo en este ultimo para poder que funcione. Te agradesco eternamente tu ayuda y la de toda la comunidad. |
|
|
||
| RE: Problemas Conexion con JDBC | 25/11/2008 15:40 | |
| kool_084 |
Ok mira todo lo que has echo parece bastante correcto,bueno yo te pongo un ejemplo de algo que ya tengo echo solo cree el applet y le mande a consultar de una tabla como la tuya, es bastante parecido, asi que puedes mantener tu clase y desde el applet la utilizas mas o menos como yo lo hice, o puedes modificar mi ejemplo y usarlo para tu caso, otra cosa conveniente seria que cambies de IDE, no tengo nada en contra de JCreator, de echo es util para cosas simples, pero no es muy intuitivo, yo trabajo en eclipse y netbeans en los dos probe esto y funciona |
|
|
||
| RE: RE: Problemas Conexion con JDBC | 25/11/2008 15:45 | |
| kool_084 |
CLASE DE CONECCION import java.sql.*; /////Continua...
|
|
|
||
| RE: RE: RE: Problemas Conexion con JDBC | 25/11/2008 15:46 | |
| kool_084 |
private void inicializar() throws SQLException { try { &nbs p; Class.forName(driver).newInstance(); } catch (Exception ex) { &nbs p; ex.printStackTrace(); } String url = null; if (driver.equalsIgnoreCase(DRIVER_MYSQL)) { &nbs p; host = host == null ? "localhost" : host; &nbs p; url = "jdbc:mysql://" + host + ":" + port + "/" + database + &nbs p; "?user=" + &nbs p; user; &nbs p; connection = DriverManager.getConnection(url); } else if (driver.equalsIgnoreCase(DRIVER_JDBC_ODBC)) { &nbs p; url = "jdbc:odbc:" + database; &nbs p; connection = DriverManager.getConnection(url, user, &nbs p; passw); }else if(driver.equalsIgnoreCase(DRIVER_JAVA_DB)){ &nbs p; url = "jdbc:derby://" + host + ":" + port + "/" + database; &nbs p; connection = DriverManager.getConnection(url, user, passw); }else { &nbs p; host = host == null ? "localhost" : host; &nbs p; url = "jdbc:microsoft:sqlserver://" + host + ":" + port + &nbs p; ";DatabaseName=" + database + &nbs p; ";User=" + user + ";Password=" + passw; &nbs p; connection = DriverManager.getConnection(url); } } /** * * @return Coneccion a la DB */ public Connection conseguirConexion() { return connection; } /** * * @return Statement para interactuar con la DB * @throws SQLException */ public Statement conseguirDeclaracion() throws SQLException { return connection.createStatement(); } /** * Retorn ana instancia de java.sql.ResultSet, con los datos * correspondientes a la consulta realizada * @param sql Cadena que representa la consulta en lenguaje SQL a partir de * la cual se obtiene los datos * @return Datos resultantes de la consulta * @throws java.sql.SQLException */ public ResultSet realizarConsulta(String sql) throws SQLException{ if(sql == null) &nbs p; throw new SQLException("La consulta no puede ser nula"); ResultSet result = null; result = conseguirDeclaracion().executeQuery(sql); return result; } /** * Permite cerrar la coexion que se ha establecido a la DB */ public void cerrarConexion(){ try { &nbs p; conseguirConexion().close(); } catch (SQLException ex) { &nbs p; System.out.println("EEROR, " + ex); } } /** * Ejecuta algun tipo de proceso SQL ya sea insercion, actualizacion o * eliminacion de datos * @param sql Cadena SQL que representa la accion a realizar en la DB * @throws java.sql.SQLException */ public void ejecutarProceso(String sql) throws SQLException{ if(sql == null) &nbs p; throw new SQLException("La operacion no puede ser nula"); conseguirDeclaracion().executeUpdate(sql); } } Esta calse anterior equivale a la que tu has creado si deseas puedes usar este codigo yo lo uso en la mayoria de mis programas(disculpa la escasa documentacion) |
|
|
||
| RE: RE: RE: RE: Problemas Conexion con JDBC | 25/11/2008 15:46 | |
| kool_084 |
APPLET DE PRUEBA import java.awt.BorderLayout;
Bueno en el ejemplo use la base de datos JAVA (Derby) no tenia a mano MySQL, para tu caso solo cambiarias el driver que ya esta en la clase de coneccion, el puerto por el que se conecta tmabien ya esta a menos que lo hayas cambiado, el nombre de la DB el usuario y contrasena, en mi caso todos son ejemplo, y por ultimo no olvidarte de incluir la libreria de JDBC para MySQL. O puedes usar el puente ODBC, bueno en fin espero te sirva el codigo
|
|
|
||
| RE: Problemas Conexion con JDBC | 26/11/2008 15:35 | |
| anonymous |
Ok compañero kool_084, te agradesco mucho tu ayuda. Ya mismo voy a probar este codigo y haber que modificaciones le hago y luego os comento. Una vez mas mil gracias a esta fabulosa comunidad. Saludos desde Colombia, Cristhian Fernandez. |
|
|
||
| RE: Problemas Conexion con JDBC | 27/11/2008 17:23 | |
| anonymous |
Compañero kool_084 , perdona mi ignorancia, pero no comprendo mucho tu codigo; lo he leido, releido y no logro entender muchas cosas, trate de adaptarlo y no consegui mucho la verdad. Si fueras tan amable de explicarmelo, o algun otro compañero forero os lo agradeceria mucho. Ya la tarea se debe presentar hoy jueves, no la presentare como se debe pero bueno..... Ahora lo que quiero es aprender por mi cuenta. |
|
|
||
| RE: Problemas Conexion con JDBC | 27/11/2008 18:14 | |
| kool_084 |
Bueno explicame que no entiendes y con gusto, la verdad trate de hacerlo muy claro pero bueno La calse conexion esta lista y la he usado ya mucho tiempo para cosas simple, seguramente tu error esta en otro lugar, es decir en la implementacion, en la coneccion cuando se instancia yo uso elDRIVER:JAVA_DB y PUERTO_JAVA_DB tu deberias usar DRIVER_MYSQL y PUERT_MYSQL, deberias poner el host donde esta la DB en mi caso es la misma maquina x eso pongo "localhost", luego donde esta "ejemplo" es primero el nombre de la DB, luego el usaurio, luego el password, si se conecta de forma exitosa ya podras interactuar con la DB casi en todo aspecto, solo debes usar los datos del resultset y mostrarlos donde y como desees Mejor xq no me dices mas o menos donde estan tus dudas para ver si te ayudo de mejor manera |
|
|
||