• Lunes 18 de Noviembre de 2024, 04:24

Autor Tema:  Problema insertar en mysql desde botón  (Leído 3115 veces)

darupi

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Problema insertar en mysql desde botón
« en: Martes 4 de Agosto de 2009, 17:01 »
0
Hola de nuevo!
Queria preguntaros si alguien sabe porque no puedo insertar datos en MYSQL.
Tengo un botón que, al hacer click, me gustaría que insertara el dato de un campo en la Base de datos.

Tengo creado un script que hace la insercción, pero creo que como el Script es de la parte del usuario no se realiza por eso.
Lo que yo quiero es que el evento del doclick() haga la insercción.
Os muestro lo que tengo:

El lugar del botón
Código:
Código: Text
  1.  
  2. <input type="text" name="numTel" onchange="añadirA()"/>
  3. <input type="button" name="añadir1" value = "Añadir" disabled="true"
  4.                                         onclick="añadirTelefono()">
  5.  
  6.  

El script
Código:
Código: Text
  1.  
  2. <script language="javaScript" type="text/javascript">
  3.     function añadirTelefono()
  4.     {   
  5.                 var telefono = document.getElementById("numTel");
  6.         String query ="insert into telefono(11," + telefono + ")";
  7.         insertaTelefono.inserta(query);
  8.     }
  9. </script>
  10.  
  11.  

He puesto esa query de insert por poner una de prueba y comprobar si la inserta.
InsertaTelefono es una clase que conecta con la BD y en teoria mete la consulta.

Clase InsertaTelefono:
Código:

Código: Text
  1.  
  2. package pepe;
  3.  
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.ResultSet;
  7. import java.sql.Statement;
  8.  
  9. public class insertaTelefono
  10. {
  11.    public static void inserta(String query)
  12.    {
  13.       try
  14.       {
  15.           Class.forName("com.mysql.jdbc.Driver").newInstance();
  16.           Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/pepe?user=jose&password=antonio");
  17.           Statement Estamento = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
  18.          
  19.           Estamento.executeUpdate(query);    
  20.       
  21.           Estamento.close();
  22.           conn.close();
  23.       }
  24.       catch (Exception e)
  25.       {
  26.          e.printStackTrace();
  27.       }
  28.    }
  29. }
  30.  
  31.  

Me podeis echar una mano por favor? Gracias!

shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: Problema insertar en mysql desde botón
« Respuesta #1 en: Martes 4 de Agosto de 2009, 19:56 »
0
Madre  :blink:  no definas sentencias SQL en javascript, deja eso en la clase java al menos, evita usar nombre de variables, funciones con caracteres especiales como tildes, eñes, etc.

Primero depura la clase en java, intentando insertar directamente de alli, luego depura el codigo javascript, para eso algun plugin para el navegador que uses como FireBug para FF.

darupi

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Problema insertar en mysql desde botón
« Respuesta #2 en: Miércoles 5 de Agosto de 2009, 11:24 »
0
Jejeje ok.

La cosa es que vale, a mi me gustaria que la clase que inserta en MYSQL sea invocada desde el evento doClick() del botón, pero no se como puedo asignarlo, porque no es una llamada a un Script, sino a un metodo de una clase.

Lo que tampoco sé es como conseguir acceder al valor de los campos del formulario desde la clase Java.

Gracias de nuevo!

shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: Problema insertar en mysql desde botón
« Respuesta #3 en: Miércoles 5 de Agosto de 2009, 16:56 »
0
No se que estaras haciendo, pero una forma es usando un servlet que atendiente un request, toma la informacion que necesita y enviar un response, al menos por ahora la coneccion con la base de datos(modelo) y el servlet que atiende las peticiones (controlador) pueden ir en uno solo.

Vamos un ejemplo:
http://club.idecnet.com/~ccastano/femepa/141205.htm

darupi

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Problema insertar en mysql desde botón
« Respuesta #4 en: Miércoles 5 de Agosto de 2009, 22:12 »
0
Jejeje. Es que queria hacer la págin web como si fuese una aplicación de Java normal con eventos.
Pero asi no se puede hacer.
Lo que he hecho ha sido antes del <html> comprobar si los campos tienen datos, ya que si es asi es porque se ha insertado valor en ellos. :p

Gracias por las molestias igualmente!

Y sobretodo por la breve explicación del Servlet, ya que me hará seguro falta para pasarle unos parametros a un programita y arrancarlo con esos datos.

:)