Мне было предложено сгенерировать скрипты для определенного набора операций (в основном вставки информации о продуктах для портала электронной торговли) и выполнить сгенерированный скрипт. Проблема, с которой я сталкиваюсь, заключается в том, что мы сохраняем все изображения в виде двоичных данных в таблице. Теперь, как я должен сценарировать запрос для этого, я получаю несоответствие типа, когда я пытался вставить массив байтов в форме строки. Это то, что я пробовал.генерация скрипта sql для вставки байтового массива
//imgbyte is the byte array containing the piucture data
StringBuilder sb=new StringBuilder();
sb.AppendLine("declare @picquery as Varchar(4000)");
sb.AppendLine("set @picquery='Insert into Picture(PictureBinary) values (''"+imgbyte.ToString() +"'')'");
sb.AppendLine("exec(@picquery)");
// sb is then passed to another module where it is executed.
Но тип двоичных данных неверен и запрос на вставку не выполняется. Что я делаю не так. столбец PictureBinary является VarBinary (MAX)
У вас есть возможность использовать подготовленные операторы вместо генерации строки SQL? Если вы используете подготовленные инструкции, то .NET будет обрабатывать преобразование для вас. – mroach
Мне нужно их написать и сохранить. сценарий будет выполнен позднее. –