Java - Problema insertar datos a mysql

   
Vista:

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 29/05/2016 22:39:45
Estoy insertando datos desde java netbeans a mysql, lo que sucede que tengo una interfaz donde manejo jcombobox (se rellena con datos llamados de otras tablas) y jtextfield (ingreso de datos por teclado), al momento de hacer la selección en los combobox y escribribir en el textfield solo me ingresa a mi tabla de mysql los datos seleccionados de mi combo y no los de text a que se debe, a continuación ingreso mi código para la inserción, espero su ayuda gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
private void guardarActionPerformed(java.awt.event.ActionEvent evt) {
	// TODO add your handling code here:
 
	try {
 
		PreparedStatement pst = cn.prepareStatement("INSERT INTO general (marca,tipo,modelo,color,placas,numero_eco,mes,resguardatorios,fecha,des_serv_com,mot_serv_com,num_oficio,km_ini,nivel_gas_ini,chofer)  VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
 
		pst.setString(1,marca.getSelectedItem().toString());
		pst.setString(2, tipo.getSelectedItem().toString());
		pst.setString(3, modelo.getSelectedItem().toString());
		pst.setString(4, color.getSelectedItem().toString());
		pst.setString(5, placas.getSelectedItem().toString());
		pst.setString(6, num_eco.getSelectedItem().toString());
 
		pst.setString(7, mes.getText());
 
		pst.setString(8, resguardatorio.getSelectedItem().toString());
 
		pst.setString(9, fecha.getText());
		pst.setString(10, destino.getText());
		pst.setString(11, motivo.getText());
		pst.setString(12, oficio.getText());
		pst.setString(13, kmi.getText());
		pst.setString(14, gasi.getText());
 
		pst.setString(15, chofer.getSelectedItem().toString());
 
		pst.executeUpdate();
 
		mostrardatos("");
		JOptionPane.showMessageDialog(null, "Regitrado con exito");
	} catch (SQLException ex) {
		Logger.getLogger(General_Usuario.class.getName()).log(Level.SEVERE, null, ex);
	}
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema insertar datos a mysql

Publicado por marco (16 intervenciones) el 29/05/2016 23:00:53
Hola.
Para obtener el valor del jcombobox es de esta forma.
1
String valor = (String)micombo.getSelectedItem();
Y para saber si se ejecutó el insert.
1
2
3
4
5
6
int guardado = pstm.executeUpdate();
If(guardado == 1) {
System.out.print("todo guardado");
} else {
System.out.print("no se guardó la información ");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 29/05/2016 23:09:22
Esto es para saber si se ha guardado los datos de los combo, el detalle esta en que si guarda lo de los combo osea que lo que selecciono en el combo si lo guarda en mi tabla y lo que falla son los jtextfield ya que lo que escribo no lo ingresa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por marco (16 intervenciones) el 29/05/2016 23:58:21
Tu código parece estar bien.
Pero puedes imprimir en pantalla el valor de cada Jtextfield para saber que te esta trayendo antes de que los guardes.
Se me ocurre que hagas una una prueba con un System.out.println(fecha.getText());
Para ver que realmente te este dando un String y no venga nulo.
Porque dices que si te guarda los String que viene de los combobox.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 30/05/2016 00:04:53
así es, realice la prueba de cambiar los combos por text y resulta que si me guardo los datos de todos los text.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 30/05/2016 00:07:17
ya acabo de realizar la prueba System.out.println(fecha.getText()); y no me arrojo nada en la consola me imagino que los esta dejando nulos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por marco (16 intervenciones) el 30/05/2016 00:38:23
Hola.
Estas utilizando un JTextFormatted o son solo Jtextfield?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 30/05/2016 00:40:45
los que estoy utilizando son los jtextfield
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por marco (16 intervenciones) el 30/05/2016 00:44:18
Puedes pasarme tu código?
Para ver que esta sucediendo.
Bueno si quieres y puedes. no vaya ser que sea muy importante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 30/05/2016 00:54:35
Te mando mi formulario que tiene ese error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por marco (16 intervenciones) el 30/05/2016 00:58:24
Comienzo a verlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por marco (16 intervenciones) el 30/05/2016 01:33:20
Hola una pregunta esta bien el nombre de los campos de tu base de datos y su orden?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 30/05/2016 01:40:35
si son correctos adjunto imagen
NetBeans-IDE-7.4
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por marco (16 intervenciones) el 30/05/2016 02:04:47
Hola.

Puedes intertan esto?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
try {
			final String Marca = (String) marca.getSelectedItem()
            final String Tipo = (String) tipo.getSelectedItem()
			final String Modelo = (String)modelo.getSelectedItem();
			final String Colors = (String)color.getSelectedItem();
			final String Placas = (String)placas.getSelectedItem();
            final String Num_eco = String)num_eco.getSelectedItem();
			final String Mes = mes.getText();
            final String Resg = (String) resguardatorio.getSelectedItem();
			final String Fecha = fecha.getText();
			final String Destino = destino.getText();
            final String Motivo =  motivo.getText();
			final String KMI =  kmi.getText();
			final String Gasi = gasi.getText();
			final String Chofer = (String) chofer.getSelectedItem();
            if(Mes.isEmpty()) {
            JOptionPane.showMessageDialog(null, "Campo Mes esta vacío");
            mes.requestFocus();
            } else if(Fecha.isEmpty()) {
			JOptionPane.showMessageDialog(null, "Campo Fecha esta vacío");
            fecha.requestFocus();
            } else if(Destino.isEmpty()) {
            JOptionPane.showMessageDialog(null, "Campo Destino esta vacío");
            destino.requestFocus();
            } else if(Motivo.isEmpty()) {
			JOptionPane.showMessageDialog(null, "Campo Motivo esta vacío");
			motivo.requestFocus();
            } else if(KMI.isEmpty()) {
            JOptionPane.showMessageDialog(null, "Campo Kmi esta vacío");
			kmi.requestFocus();
            } else if(Gasi.isEmpty()) {
			JOptionPane.showMessageDialog(null, "Campo Gasi esta vacío");
            gasi.requestFocus();
            } else {
            PreparedStatement pstm = cn.prepareStatement("INSERT INTO general (marca,tipo,modelo,color,placas,numero_eco,mes,resguardatorios,fecha,des_serv_com,mot_serv_com,num_oficio,km_ini,nivel_gas_ini,chofer)  VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
            pstm.setString(1,Marca);
            pstm.setString(2,Tipo);
            pstm.setString(3,Modelo);
            pstm.setString(4, Colors);
            pstm.setString(5, Placas);
            pstm.setString(6, Num_eco);
            pstm.setString(7, Mes);
            String texto=mes.getText();
            texto=texto.replaceAll(" ", "");
            pstm.setString(8,Resg);
            pstm.setString(9, Fecha);
            pstm.setString(10,Destino);
            pstm.setString(11, Motivo);
            pstm.setString(12, oficio.getText());
            pstm.setString(13,KMI );
            pstm.setString(14,Gasi);
            pstm.setString(15,Chofer);
            int i = pstm.executeUpdate();
			if(i == 1) {
            mostrardatos("");
            JOptionPane.showMessageDialog(null, "Registrado con exito");
           } else {
			JOptionPane.showMessageDialog(null, "Registrado sin exito....");
           }
         }
 
        } catch (SQLException ex) {
            Logger.getLogger(General_Usuario.class.getName()).log(Level.SEVERE, null, ex);
           System.out.println(ex.getLocalizableMessage());
        }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 30/05/2016 02:17:01
ok, permiteme lo intento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 30/05/2016 02:31:32
ya lo cheque me borra lo que escribo en mi jtexfield, me manda el mensaje de JOptionPane.showMessageDialog(null, "Campo Mes esta vacío");, despues me pide de nuevo el dato se lo ingreso hasta entonces lo inserta pero no a la primera vez.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por marco (16 intervenciones) el 30/05/2016 02:38:46
Oye puedes quitarle las siguientes líneas al código y me comentas que sucedió
String texto=mes.getText();
texto=texto.replaceAll(" ", "");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 30/05/2016 02:59:28
ok permiteme lo checare, aunque los mensajes me los manda en todos los campos que relleno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 30/05/2016 03:04:38
Ya hice la prueba pero me sigue mandando los mensajes de cada jtextfield, relleno me manda el mensaje me borra lo que tiene, lo ingreso de nuevo y me pasa al siguiente jtextfield y lo mismo hasta que termino con todo y ahora si me lo inserta, el detalle ahora esta en que me manda esos mensajes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por marco (16 intervenciones) el 30/05/2016 03:11:49
No se pero tienes alguna funcion rara en tu programa!
Que te esta limpiando los campos antes de que puedas obtener los valores.
Para que sirve la funcion que se llama mostrardatos("");
Los mensajes los puedes eliminar quitando las condicionales y listo.
Como te decía solo falta saber para que es ese método.
No se si en alguna parte de tu programa limpias los campos?
Hay que ver.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 30/05/2016 03:16:40
mostrardatos("");, lo tengo para que al momento en que sufra una modificación se actualice mi tabla tengo un metodo que se llama mostrardatos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por marco (16 intervenciones) el 30/05/2016 03:26:26
ok.
Ya escribí todo lo que sabia y es que es muy raro que se estén borrando los valores de cada campo, no es lógico y normal.
No pude ejecutar tu formulario por que me hizo falta la tabla y el proyecto de netbeans [u] aunque sea nada mas con el formulario que estamos revisando[/u

](No lo queria todo);

ya que así no me lo reconoció el netbeans.

Si veo algo más te lo hago saber.
Saludos!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 30/05/2016 03:28:30
ok muchas gracias, de igual manera lo checare si llego a la solución se los hago saber que tenga buena noche.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por Lady Garay Gutierrez (9 intervenciones) el 30/05/2016 22:00:13
¿Porqué no debugueas?
Sólo pon el nullPointer y debuguea, tal vez tienes problemas al momento de querer obtener el valor.
Tu codigo está bien, pero si lo haces lo encontrarás más rápido, pero pon tus metodos en un try{}catch{}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 31/05/2016 01:10:34
Gracias lo sigo checando, es algo raro esto espero llegar con la solución.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por luigi (17 intervenciones) el 31/05/2016 23:17:32
Listo solucionado, gracias por la ayuda .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema insertar datos a mysql

Publicado por Juan Carlos Zamora Alonso (16 intervenciones) el 10/06/2016 07:20:13
Mira lo que te recomiendo es que primero llenes el ComboBox y le agregues un ID cuando ya tengas el combo seleccionado...


Llenado de combo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
public boolean setComboBoxInitial() {
        DefaultComboBoxModel qComboProfesion = new DefaultComboBoxModel();
        DefaultComboBoxModel qComboCargo = new DefaultComboBoxModel();
        DefaultComboBoxModel qComboHorario = new DefaultComboBoxModel();
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////
        try {
            ConsultaProfesion = conexion.getCon().prepareStatement("Select * from tblProfesion;");
            ResultadoConsultaProfesion = ConsultaProfesion.executeQuery();
 
            if (this.idAccion == 0) {
                //leyenda seleccionar
                qComboProfesion.addElement("Seleccionar");
                while (ResultadoConsultaProfesion.next()) {
                    System.out.println(ResultadoConsultaProfesion.getString(2));
                    qComboProfesion.addElement(ResultadoConsultaProfesion.getString("strValor"));
                }
 
                cbProfesion.setModel(qComboProfesion);
                this.setComboBox();
            } else {
                while (ResultadoConsultaProfesion.next()) {
                    System.out.println(ResultadoConsultaProfesion.getString(2));
                    qComboProfesion.addElement(ResultadoConsultaProfesion.getString("strValor"));
                }
 
                cbProfesion.setModel(qComboProfesion);
                this.setComboBox();
            }
 
 
 
////////////////////////////// Con este metodo realizo la insersion 
 
  public boolean AgregarPC(Object _O) {
        try {
            tblRegAsPC objTemp = (tblRegAsPC) _O;
            PreparedStatement Agregar;
//            Agregar = ctrlConexion.getCon().prepareStatement("insert into tblRegAsV2 "
//                    + "(idEmpleado,dteFechaEntrada,tmiE1,tmiS1,dteFechaSalida1,tmiE2,tmiS2,dteFechaSalida2,tmiE3,tmiS3,dteFechaSalida3,tmiE4,tmiS4,dteFechaSalida4,tmiE5,tmiS5,dteFechaSalida5) "
//                    + "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
 
            Agregar = ctrlConexion.getCon().prepareStatement("insert into tblRegAsPC "
                    + "(idEmpleado,dteFechaEntrada,tmiE,dteFechaSalida,tmiS) "
                    + "values (?,?,?,?,?)");
            Agregar.setInt(1, objTemp.getIdEmpleado());
            Agregar.setDate(2, (Date) objTemp.getDteFechaEntrada());
            Agregar.setTime(3, objTemp.getTmiE());
            Agregar.setDate(4, (Date) objTemp.getDteFechaSalida());
            Agregar.setTime(5, objTemp.getTmiS());
 
            Agregar.execute();
            Agregar.close();
            return true;
        } catch (SQLException e) {
            System.out.println(e.getErrorCode());
            System.out.println(e.getSQLState());
            System.out.println(e.getMessage());
            return false;
        }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar