Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > AYUDA CON RESULSET EN JAVA

Buenas, tengo problemas con un error que es
:com.microsoft.sqlserver.jdbc.sqlserverexception la instruccion no devolvio un conjunto de resultados
inteno insertar datos a mi base de datos desde java
lo bueno es que inserta pero al guardar me sale el error de sql
Ya he probado si el error es en el sql pero la llamada del procedimiento desde consulta me corre normal y me manda el mensage de INSERTADO pero en java me sale el error sql
por favor si me pueden ayudar
este es el codigo de mi boton INSERTAR
String DNI = txtDNI.getText();
String NOMBRE = txtnombre.getText();
String APELLIDOPATERNO = txtapellidopaterno.getText();
String APLLIDOMATERNO = txtapellidomaterno.getText();
String CELULAR = TxtCelular.getText();
String ruta = rutafoto.getText();
String usuario = jtfUsuario.getText();
String contraseña = jpfContrasenia.getText();
if (this.txtDNI.getText().equals("")) {
JOptionPane.showMessageDialog(null, "FALTA ESCRIBIR EL DNI DEL DOCENTE", "VERIFICAR", JOptionPane.WARNING_MESSAGE);
this.txtDNI.requestFocus();
} else if (this.txtnombre.getText().equals("")) {
JOptionPane.showMessageDialog(null, "FALTA ESCRIBIR EL NOMBRE DEL DOCENTE", "VERIFICAR", JOptionPane.WARNING_MESSAGE);
this.txtnombre.requestFocus();
} else if (this.txtapellidopaterno.getText().equals("")) {
JOptionPane.showMessageDialog(null, "FALTA ESCRIBIR EL APELLIDO PATERNO DEL DOCENTE", "VERIFICAR", JOptionPane.WARNING_MESSAGE);
this.txtapellidopaterno.requestFocus();
} else if (this.txtapellidomaterno.getText().equals("")) {
JOptionPane.showMessageDialog(null, "FALTA ESCRIBIR EL APELLIDO MATERNO DEL DOCENTE", "VERIFICAR", JOptionPane.WARNING_MESSAGE);
this.txtapellidomaterno.requestFocus();
} else if (this.TxtCelular.getText().equals("")) {
JOptionPane.showMessageDialog(null, "FALTA ESCRIBIR EL CELULAR DEL DOCENTE", "VERIFICAR", JOptionPane.WARNING_MESSAGE);
this.TxtCelular.requestFocus();

} else if (rutafoto.getText().length() == 0) {
JOptionPane.showMessageDialog(null, "FALTA SUBIR FOTO", "VERIFICAR", JOptionPane.WARNING_MESSAGE);
} else {

FileInputStream fis = null;
try {
File file = new File(ruta);
fis = new FileInputStream(file);
try (
PreparedStatement pstm = con.Conectar().getConnection().prepareStatement("{call INSERTARUSUARIO (?,?,?,?,?,?,?,?)}")) {
pstm.setString(1, DNI);
pstm.setString(2, NOMBRE);
pstm.setString(3, APELLIDOPATERNO);
pstm.setString(4, APLLIDOMATERNO);
pstm.setString(5, CELULAR);
//convertirlo a binarios
pstm.setBinaryStream(6, fis, (int) file.length());
pstm.setString(7, usuario);
pstm.setString(8, contraseña);

ResultSet r = pstm.executeQuery();
String respuesta = "";
while (r.next()) {
respuesta = r.getString(1).toString();
}
JOptionPane.showMessageDialog(null, respuesta, "CONFIRMACION", JOptionPane.WARNING_MESSAGE);
//falta metodo cargardocente, limpiar,FormatoDocente

jlfoto.setIcon(new ImageIcon(getClass().getResource("/Imagenes/usuario.jpg")));

} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "ERROR AL REGISTRAR" + e, "ERROR", JOptionPane.WARNING_MESSAGE);
}
} catch (FileNotFoundException ex) {
JOptionPane.showMessageDialog(null, "NO SE ENCONTRARON LOS ARCHIVOS REQUERIDOS PARA EL REGISTRO DEL USUARIO" + ex, "ERROR", JOptionPane.WARNING_MESSAGE);
} finally {
try {
fis.close();

} catch (IOException ex) {
JOptionPane.showMessageDialog(null, "OCURRIO UN ERROR AL MOMENTO DE CERRAR LA CONEXION CON LA BASE DE DATOS", "ERROR", JOptionPane.WARNING_MESSAGE);
}

}

}

junio 23, 2014 | Unregistered CommenterLUIS

¿Cuál es el error?
Publica la traza completa. No basta con abrir un panel para el usuario, para depurar el código.
Es preciso ver la excepción completa.

junio 23, 2014 | Registered Commenterchoces

El error que sale del exception es

:com.microsoft.sqlserver.jdbc.sqlserverexception la instruccion no devolvio un conjunto de resultados

al momento de grabar, por favor ayudame a resolver este error

junio 24, 2014 | Unregistered CommenterLUIS

no me manda error en consola solo me manda el exception

junio 24, 2014 | Unregistered CommenterLUIS

En la clausula catch de la excepción SQL puedes poner esta línea:
System.out.println(e)
para que salga en la consola la excepción completa.

Tampoco entiendo esta línea:
PreparedStatement pstm = con.Conectar().getConnection().prepareStatement("{call INSERTARUSUARIO (?,?,?,?,?,?,?,?)}")

Los procedimientos almacenados se llaman con prepareCall no con prepareStatement.

http://docs.oracle.com/javase/tutorial/jdbc/basics/storedprocedures.html

junio 24, 2014 | Registered Commenterchoces