Picture box в байтовый массив

У меня есть программа, чтобы выбрать изображение и установить это выбранное изображение в графическом окне, а затем преобразовать изображение в графическом окне в байтовый массив и сохранить базу данных сервера SQL в столбце типа изображения.

В событии нажатия кнопки обзора я выбираю файл изображения, подобный этому.

OpenFileDialog fop = new OpenFileDialog();
fop.InitialDirectory = @"Desktop";
fop.Filter = "image files|*.jpg;*.png;*.gif";
if (fop.ShowDialog() == DialogResult.OK)
{
     FileStream FS = new FileStream(@fop.FileName, FileMode.Open, FileAccess.Read);  
     pbPartySymbol.Image = new Bitmap(fop.FileName);
     MessageBox.Show("Image Imported Successfully!!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

После выбора изображения и установки его изображения в виде изображения я конвертирую изображение в виде изображения в массив байтов в событии нажатия кнопки сохранения и сохраняю массив байтов в базе данных.

public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
    MemoryStream ms = new MemoryStream();
    imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
    return ms.ToArray();
}

Я вызываю такой метод.

byte[] myArr1 = imageToByteArray(pbPartySymbol.Image);

и я передаю этот байтовый массив в базу данных. и это тоже спасает. НоВСЕ добавленные изображения сохраняются следующим образом. * 0x53797374656D2E427974655B5D * Сохраненные изображения не могут быть возвращены в графическое окно в операции чтения. Что я делаю не так вЭКОНОМИЯ?

Вот что я делаю при сохранении операции в форме.

            Party ptObj = new Party(myArr1);
            if (new PartyOP().saveParty(ptObj))
            {
                MessageBox.Show("NEW data added");
            }

На уровне бизнес-операций это мой код.

          public Boolean saveParty(Party ptObj)
         {
          string query1 = "EXEC insertToParty'" + ptObj.PTSymARR + "'";
           return (new DataAccessLayer().executeNonQueries(query1));
        }

Вот как я установил свойство в классе Party.

class Party
{
    public Party() { }
    public Party(byte[] ptSym) 
    {

        this._PTSymARR = ptSym;

    }
    public byte[] PTSymARR
    {
        get { return _PTSymARR; }
        set { _PTSymARR = value; }
    }


}

вот моя хранимая процедура. СОЗДАНИЕ ПРОЦЕДУРЫ insertToParty (@ptSymbol image) КАК НАЧИНАЕТСЯ НАЧАТЬ ТРАНЗАКЦИЮ НА БЕЗ НАС; - Запросить INSERT INTO Party (PTSYM) ЦЕННОСТИ (@ptSymbol);

Тип данных PTSYM - это тип данных изображения.

Ответы на вопрос(1)

Ваш ответ на вопрос