Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/11/2015, 00:23
omar0989
 
Fecha de Ingreso: mayo-2012
Ubicación: df
Mensajes: 12
Antigüedad: 11 años, 11 meses
Puntos: 0
Exclamación SQL ServerException JAVA

Hola que tal el problema que tengo y espero me puedan ayudar estoy desarrollando una aplicación de escritorio en Java, tengo información guardada en una base de datos en un SQL Server 2008, en una tabla llamada Empleados tengo diversos campos tipos Int, varchar e image, hasta aquí todo normal, pero al momento de realizar una consulta y recuperar los valores de image, me indica el siguiente error com.microsoft.sqlserver.jdbc.SQLServerException: Se obtuvo acceso a los datos y estos no están disponibles para esta columna o parámetro., y no muestra la imagen, ya he intentado con otros códigos y es el mismo error, desconozco cual sea la causa también intente creando otro PreparedStatement pero aun así el error prevalece.

Código Java:
Ver original
  1. PreparedStatement pst3 = null;
  2.         String Fn = Ficha.getText();
  3.         Connection conn2 ;
  4.         conn2 = javaconnect.ConnecrDb();
  5.         String sqlf = "SELECT *  FROM Empleados WHERE Ficha = ?";
  6.         if (Fn.isEmpty() == true) {
  7.             JOptionPane.showMessageDialog(this, "No se puede consultar un valor que no ha sido ingresado verifique ficha.", "ERROR.", JOptionPane.ERROR_MESSAGE);
  8.         } else {
  9.             try {
  10.                 pst3 = conn2.prepareStatement(sqlf);
  11.                 pst3.setString(1, Fn);
  12.                 resultado = pst3.executeQuery();
  13.  
  14.                 if (resultado.next()) {
  15.  
  16.                     Nombre.setText(resultado.getString("Nombre"));
  17.                     Apellido_paterno.setText(resultado.getString("Apellido_paterno"));
  18.                     Apellido_materno.setText(resultado.getString("Apellido_materno"));
  19.                     Vigencia.setDate(resultado.getDate("Vigencia"));
  20.                     Directo.setText(resultado.getString("Directo"));
  21.                     Extension.setText(resultado.getString("Extension"));
  22.                     Observaciones.setText(resultado.getString("Observaciones"));
  23.                 if (resultado.getBinaryStream("Firma") == null) {//si no encuentra la imagen
  24.                 JOptionPane.showMessageDialog(this, "No image");
  25.             } else {
  26.             //int len = resultado.getInt("Tamano");
  27.             byte[] b = new byte[1024];
  28.             InputStream in = resultado.getBinaryStream("Firma");
  29.             int n = in.read(b);
  30.             in.close();
  31.             Image img = Toolkit.getDefaultToolkit().createImage(b);
  32.             resultado.close();
  33.             conn.close();
  34.             Firma.setIcon((Icon) img);
  35.                 }
  36.                 } else {
  37.              
  38.                     JOptionPane.showMessageDialog(this, "La ficha no esta registrada, verifique o intente registrar.", "Error", JOptionPane.ERROR_MESSAGE);
  39.                 }
  40.            
  41.             } catch (SQLException | HeadlessException   | IOException ex) {
  42.                 System.out.println(ex);
  43.                 JOptionPane.showMessageDialog (this, ex);
  44.        
  45.        
  46.         }
  47.    
  48.         }
Agradezco la atención.

Última edición por gnzsoloyo; 07/11/2015 a las 03:38