Hola, necesito insertar datos de usuarios en un JTable y generar el código incrementando el del usuario anterior en lugar de meterlo a mano. Tengo el siguiente código:
void Guardar_actionPerformed(ActionEvent e) {
String url = "jdbc:odbc:BDORACLE";
Statement consulta = null;
ResultSet rs = null;
int codigo;
String nivel;
Statement stmt = null;
Connection con = null;
try {
//Carga del driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(java.lang.ClassNotFoundException ex) {
System.err.print("Error Clase No Existe : ");
System.err.println(ex.getMessage());
}
if (opcAlumno.isSelected())
nivel = "Alumno";
else
nivel = "Profesor";
try {
//Establecimiento de la conexión a la base de datos
con = DriverManager.getConnection(url, "scott", "tiger");
//Obtención del código de usuario
consulta = con.createStatement();
rs = consulta.executeQuery("SELECT MAX(CÓD_USUARIO) AS CODIGO FROM Usuarios");
codigo = rs.getInt("CODIGO") + 1;
//Consultas a la base de datos
stmt = con.createStatement();
stmt.executeUpdate("INSERT INTO Usuarios VALUES" +
"(" + codigo + ", '"
+ jTextField2.getText() + "', '" + jTextField3.getText() +
"', '" + jTextField4.getText() + "', '" +
jPasswordField1.getText() + "', '" + jTextField6.getText() +
"', '" + jTextField7.getText() + "', '" +
nivel + "')");
//Cerrar la conexión
stmt.close();
rs.close();
con.close();
/*JOptionPane.showMessageDialog(this, "El usuario ha sido registrado correctamente",
"Alta de Usuarios", JOptionPane.INFORMATION_MESSAGE);*/
this.setVisible(false);
}
catch(SQLException exc) {
System.err.println("Error al ejecutar SQL en Dialogo1: " + exc.getMessage());
}
}
Pero me da el siguiente error y no consigo averiguar por qué es:
[Microsoft][Administrador de controladores ODBC] Estado del cursor no válido
¿Podría ayudarme alguien?