Estoy haciendo un proyecto en java con formularios los cuales me tienen que guardar eliminar y modificar para esto creo una clase que es la clase conexion una clase distinta para cada uno de los formularios en la cual van los distintos métodos de guardar modificar y eliminar y los formularios.
pero la función guardar no me funciona y no se por que
Clase Guardar
package clasesAdministrador;
import Conexion.conexion1;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.table.DefaultTableModel;
import formAdministrador.usuarios1ad;
import javax.swing.JOptionPane;
public class usuario1ad {
Conexion.conexion1 conn=new Conexion.conexion1();
public PreparedStatement sql;
public ResultSet datos, rs;
DefaultTableModel tabla = new DefaultTableModel();
Statement sent;
public void Guardar(int num_usu, String nom_usu, String con1,String tipus)
{
try
{
conn.Conectar();
sql=conn.con.prepareStatement("insert into usuario (id_usu,nom_usu,con_usu,tip_usu) values ("+num_usu+",'"+nom_usu+"','"+con1+"','"+tipus+"')");
sql.execute();
conn.cerrar();
}
catch(SQLException ex)
{
System.out.println("ERROR AL GUARDAR...");
}
} // FIN METODO GUARDAR
} // FIN DE TODO
Clase Conexion
package Conexion;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class conexion1{
public PreparedStatement sql;
public ResultSet datos;
public Connection con=null;
public void Conectar(){
String db="jdbc:mysql://localhost:3306/sena";
String usuario="root";
String password="salomeaa";
try
{
String controlador="com.mysql.jdbc.Driver";
System.out.println("CONEXION CON BASE DE DATOS...." +db);
Class.forName(controlador);
con=DriverManager.getConnection(db,usuario,password);
System.out.println("CONEXION EXITOSA");
}
catch(Exception ex)
{
System.out.println("Error "+ex.getMessage());
}
}
public void cerrar(){
if(con==null)
{
try
{ con.close();}
catch(Exception ex)
{ }
}
}
}
Form Java
public class usuarios1ad extends javax.swing.JFrame {
usuario1ad gg = new usuario1ad();
// demaciado codigo para ponerlo todo (botones y demas)
public void GuardarUsuario(){
this.tipUsu();
gg.Guardar(Integer.parseInt(num_usu.getText()),nom_usu.getText(),con1.getText(),tipus);
// JOptionPane.showMessageDialog(null, "DATOS ALMACENADOS CORRECTAMENTE", "GUARDAR", JOptionPane.INFORMATION_MESSAGE);
}
num_usu : id del usuario
nom_usu : nombre de usuauario
con1 : contraseña del usuario
tipus : tipo de usuario (roles para permisos dentro del programa)
BASE DE DATOS (La tabla)
esto es lo que me sale al tratar de guardar información
este es el formulario en el que guardo la informacion
el combo lo guardo asi
public void tipUsu(){
if(tip_usu1.getSelectedItem()=="...")
{
JOptionPane.showMessageDialog(null, "Ingrese el tipo de usuario");
}
else if(tip_usu1.getSelectedItem()=="usuario")
{
tipus="usuario";
}
else if(tip_usu1.getSelectedItem()=="administrador")
{
tipus="administrador";
}
entonces el combo se llama "tip_usu1" pero solo es para saber que tipo de usuario es por que lo que mando a la base de datos es "tipus"
y para las contraseñas para validarlas dos
private boolean isPasswordCorrect(char[] con1,char[] con2){
boolean valor = true;
int puntero = 0;
if (con1.length != con2.length){
valor = false;
}
else{
while((valor)&&(puntero < con1.length)){
if (con1[puntero] != con2[puntero]){
valor = false;
}
puntero++;
}
}
return valor;
}
los dos campos de contraseña solo es para confirmar que no este mal al ingresarla la que mando a la base de datos en "con1" "con2" solo es para compararla y ver que sena la misma