Bạn phải gọi rs.next () (và kiểm tra xem nó có trả về true hay không) để truy cập vào hàng đầu tiên của tập kết quả:
if (rs.next() {
InputStream stream = rs.getBinaryStream(1);
...
Cũng không phải chỉ mục phải là 1, vì truy vấn của bạn chỉ chọn một cột.
Tôi cũng không hiểu điểm trong việc truyền int thành một char. Phương thức này nhận một đối số là int. Truyền thành byte ít nhất sẽ là logic, nhưng byte và char không giống nhau trong Java.