Предположим, у Вас уже есть код, который работает с БД, пусть это будет пара методов: LoadImage/SaveImage, первый принимает целочисленный ID и возвращает массив байт, а второй делает всё ровно наоборот, кроме того, есть PictureBox, на который указывает переменная _pictureBox1, тогда решение будет выглядеть примерно так:
1. Сохранение:
if (_pictureBox1.Image == null)
return;
using var destination = new MemoryStream();
{
_pictureBox1.Image.Save(destination, ImageFormat.Jpeg) // здесь можно выбрать любой доступный формат
}
var id = SaveImage(destination);
2. Загрузка
var bytes = LoadImage(id);
if (bytes == null)
return;
using (var source = new MemoryStream())
{
_pictureBox1.Image = Image.FromStream(source);
}