Как загрузить и вывести картинку? SQL бд

В бд я создал поле blob и при сохранении изображения оно всегда сохраняется в 3 байта, и при следующем открытии программы оно выдает ошибку "Parameter is not valid"

Вот код загрузки

DB db = new DB();
    db.openConnection();
    MySqlCommand cmd; MySqlDataAdapter da;
    String qry = "SELECT * FROM users WHERE id =1";
    cmd = new MySqlCommand(qry, db.getConnection());
    da = new MySqlDataAdapter(cmd);
    DataTable table = new DataTable();
    da.Fill(table);
    byte[] img = (byte[])table.Rows[0][5];
    MemoryStream ms = new MemoryStream(img);
    pictureBox1.Image = Image.FromStream(ms);
    da.Dispose();

Вот код сохранения

try
    {

        DataTable table = new DataTable();
        DB db = new DB();
        MemoryStream ms = new MemoryStream();
        pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
        byte[] img = ms.ToArray();
        db.openConnection();
        MySqlCommand command = new MySqlCommand("UPDATE users SET image = '@Im' WHERE id=1", db.getConnection());
        MySqlParameter mediumblob = new MySqlParameter("@Im", MySqlDbType.Blob, img.Length);
        mediumblob.Value = img;
        command.Parameters.Add("@Im", MySqlDbType.Blob);
        command.Parameters["@Im"].Value = mediumblob;
        if (command.ExecuteNonQuery() == 1)
        {
            MessageBox.Show("saved");
        }
        else
        {
            MessageBox.Show("no saved");
        }
        db.closeConnection();
    }
    catch (Exception)
    {
        throw;
    }

Ответы (0 шт):