viernes, diciembre 17, 2010

Java - Obtener imagen desde Base de Datos


"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"

Metodo utilizado para obtener la imagen desde la Base de Datos, para eso elaboramos una sentencia como la siguiente: "select longitud, imagen from tabla where codigo=?"

public static Image obtenerImagenEnBD(Connection con, int codigoFila, String sentenciaSQL) {
ResultSet rs = null;
 PreparedStatement pstmt = null;
 // Ejecutamos la consulta SQL que se pasa como parámetro
 try {
            pstmt = con.prepareStatement(sentenciaSQL);
            //buscar por codigo la imagen
            pstmt.setInt(1, codigoFila);
            rs = pstmt.executeQuery();
            if (!rs.next()) {//si no encuentra la imagen
                return null;
            }
            int len = rs.getInt("longitud");//longitud de la imagen
            byte[] b = new byte[len];//array de bytes
            InputStream in = rs.getBinaryStream("imagen");//leemos la imagen
            int n = in.read(b);
            in.close();
            //Creamos una imagen a partir de un array de bytes
            Image img = Toolkit.getDefaultToolkit().createImage(b);
            rs.close();
            pstmt.close();
            return img;
 } catch (Exception e) {
            System.err.println("Error al acceder al registro: " + e.getMessage());
 }
 return null;
}

1 comentarios:

Excelente el tutorial, tengo dudas sobre otro tema, sera que me pueden ayudar???