Сохранение растрового изображения, преобразованного в байтовый массив, в тип данных Varbinary(MAX) или SQL Server

Я хочу сохранить изображение в базе данных SQL Server. Я преобразовал изображение в байтовый массив, и тип данных столбца в базе данных varbinary(MAX) но это не сработало, даже если я изменил его тип на Image но я получаю те же результаты.

Я перешел по многим ссылкам из stackru, проекта кода, мечты в коде, но не смог найти свое решение, есть мой код для вставки байтового массива в базу данных

string query = @"INSERT INTO myTable (ID, byteArray, DateTime) VALUES (@ID, @byteArray, @datetime)";

try
{
      command = new SqlCommand(query, base.conn);
      command.Parameters.AddWithValue("@ID", id);
      command.Parameters.AddWithValue("@byteArray", ss); // ss is byte[] from arguments
      command.Parameters.AddWithValue("@datetime", DateTime.Now);

      base.Open();
      if (command.ExecuteNonQuery() > 0)
      {
            base.Close();
            return true;
      }
      else
      {
             base.Close();
             return false;
      }
}
catch (SqlException ex)
{
      base.Close();
      return false;
}

Я также попробовал это с

command = new SqlCommand(query, base.conn);
command.Parameters.Add("@ID", id);
command.Parameters.Add("@byteArray", ss); // ss is byte[] from arguments
command.Parameters.Add("@datetime", DateTime.Now);

и вещь, которую он будет хранить в базе данных

Третий столбец имеет тип изображения, и я отправляю байтовый массив в нем

но это покажет значение в 3-м столбце как <Binary data> что это такое???

1 ответ

SQL Server Management Studio покажет <binary data> когда некоторые двоичные данные (например, изображение) хранятся в этом столбце. Это работает как задумано!

На самом деле вы не увидите само изображение в SQL Server Management Studio. Я уверен, что ваш код работает просто отлично - слишком высоки ваши ожидания относительно того, что может сделать Management Studio....

Другие вопросы по тегам