Как в БД засунуть массив байтов в ячейку типа blob?

Этот код я использую для редактирования данных в БД. Когда данные типа int или string все работает, но я не могу понять как мне вставить массив байтов в ячейку с типом данных BLOB. 3 дня уже штурмую гугл, яндекс, youtube, но не могу найти решение.

OdbcTransaction transaction = null;
OdbcCommand command = new OdbcCommand();

transaction = connection.BeginTransaction();

command.Connection = connection;
command.Transaction = transaction;


command.CommandText = "UPDATE tb_vs SET te_file=" + bytes + " WHERE te_comp LIKE '" + ParStr + "'";
//command = new OdbcCommand("UPDATE tb_vs SET te_file=" + bytes + " WHERE te_comp LIKE '" + ParStr + "'", connection);
//command.Parameters.Add("@byte", OdbcType.Blob).Value = bytes;


command.ExecuteReader();
transaction.Commit();

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

Автор решения: Alexander Petrov

Никогда не используйте конкатенацию строк для составления sql-запросов. Это грозит SQL-инъекцией.
Всегда используйте параметризованные запросы: 1, 2, 3.

Вы не указали, какую именно СУБД и провайдер используете. Можно ли применить именованные параметры или только позиционные.

Массиву байтов в .NET соответствует тип OdbcType.Binary. См. Specifying parameter data types. И лучше смотреть именно английскую версию документации, потому что перевод на русский очень плох.

Ну и наконец не забываем освобождать занятые ресурсы.

using (var transaction = connection.BeginTransaction())
using (var command = new OdbcCommand())
{
    command.Connection = connection;
    command.Transaction = transaction;

    command.CommandText =
        "UPDATE tb_vs SET te_file = ? WHERE te_comp LIKE ?";

    command.Parameters.Add("@p1", OdbcType.Binary).Value = bytes;
    command.Parameters.Add("@p2", OdbcType.NVarChar).Value = ParStr;

    int rowsAffected = command.ExecuteNonQuery();
    transaction.Commit();
}
→ Ссылка
Автор решения: Dmitriy

Решил. Заменил OdbcType на Image:

command.Parameters.Add("@p1", OdbcType.Image).Value = bytes;

Хоть там файл и не Image, но видимо все равно какой формат файла так как это просто байты.

Alexander Petrov спасибо за помощь!

→ Ссылка