Hola gente.
Necesito su ayuda, el problema que tengo es este, tengo un jframe a modo de formulario, donde guardo nombre , edad , apellido y pais. Al apretar guardar veo los datos en un jlist en el mismo jframe, pero no en la base de datos, si agrego manualmente los datos en la base si los veo en el jlist, o sea el error esta en el codigo del formulario donde intento guardar. Uso mysql y netbeans 8.0
Les pido su ayuda, soy nuevo en esto y me cuesta, les comento que eliminar anda perfecto, elimino y lo elimina de la base, por lo que creo que la conexion a la bd anda perfecto.
saludos y gracias.
aca esta el codigo de la clase conexion.
package fase09;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conexion {
public static Connection obtenerConexion() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
//Establece el nombre del driver a utilizar
String driver="com.mysql.jdbc.Driver";
//Establece el nombre de la conexion a utilizar
String conexion="jdbc:mysql://localhost/abm";
//Establece el nombre del usuario
String usuario="root";
//Establece el nombre del password
String clave="1234"; // yo lo agregue para PROBAR EN CASA CON MYSQL
////Establece el driver para la conexion
Class.forName(driver).newInstance();
//Retorna la conexion
return DriverManager.getConnection(conexion, usuario, clave);
}
}
y abajo esta el codigo de guardar, lo tengo en otra clase ( guardar es un boton del jframe)
private void btnGuardarActionPerformed(java.awt.event.ActionEve nt evt) {
///////////////////////////////
// Variables
boolean esNuevo = true;
// Valida el formulario
boolean validacionOk = validarFormulario();
// Si el formulario es valido...modifica o carga uno nuevo
if(validacionOk){
Cliente c = new Cliente();
// Si hay un item seleccionado lo obtiene
if( listClientes.getSelectedIndex() != -1 ){ // es si seleccionaste un item de la lista
c = (Cliente)listClientes.getSelectedValue();
esNuevo = false;
}
// Agrega el cliente a la lista de clientes
c.setNombre(txtNombre.getText());
c.setApellido(txtApellido.getText());
c.setEdad(Integer.parseInt(txtEdad.getText()));
c.setPais((String)cmbPais.getSelectedItem());
System.out.println(c.getPais());
// Si no es nuevo lo actualiza
if(esNuevo==false){
modeloClientes.getElementAt( listClientes.getSelectedIndex()); //getElementAt le paso un indice me devuelve un objeto
JOptionPane.showMessageDialog(this,
"El cliente ha sido modificado!",
"Guardar",
JOptionPane.INFORMATION_MESSAGE
);
}
// Si es un cliente nuevo lo agrega
if(esNuevo){
// listClientes.setSelectedIndex(-1);
modeloClientes.addElement(c);
JOptionPane.showMessageDialog(this,
"El cliente ha sido guardado!",
"Guardar",
JOptionPane.INFORMATION_MESSAGE
);
}
// Limpia el formulario
limpiarFormulario();
// Desactiva boton 'guardar'
btnGuardar.setEnabled(false);
// Desactiva boton 'eliminar'
btnEliminar.setEnabled(false);
// Activa boton 'nuevo'
btnNuevo.setEnabled(true);
}