Проблема, с которой вы сталкиваетесь, заключается не в реальной загрузке изображения, а в извлечении изображения из БД.Для указания на правую строку вашего результирующего набора вам сначала нужно вызвать rs.next();
, чтобы переместить указатель на следующую строку, так как изначально указатель находится в строке «-1», поэтому прямо перед вашим результирующим набором.
Для получения дополнительной информации об этом посте также может быть полезно: java.sql.SQLException: перед началом набора результатов
В качестве кода это может выглядеть примерно так:
pst = con.prepareStatement("SELECT `profilepic` FROM `librarian` WHERE `username` = `Tharindu`");
rs = pst.executeQuery();
if(rs.next()){
BufferedImage im = ImageIO.read(rs.getBinaryStream(1));
ImageIcon image = new ImageIcon(im);
jlabelpic.setIcon(image);
}
Надеюсь, это поможет вам.