У меня есть таблица с несколькими столбцами nvarchar (max), varchar (100) и столбцами типа бит. Я вставив значения к нему программно с помощью SQLCommand.ExecuteNonQuery().
sql server сохраняет только нулевые значения для некоторых столбцов
Я обеспечивающий строковые значения всех NVARCHAR и VARCHAR столбцов и 0 или 1 в битовой колонке с использованием SQLParametr.AddWithValue("@parameterName", parameterValue)
Для некоторых столбцов это хранит правильные значения, но для некоторых только нулевые значения сохраняются даже после предоставления правильных значений параметров. Столбцы, в которых хранятся нулевые значения, имеют тип varchar (100) и бит.
В среде разработки все работает нормально, проблема возникает в среде тестирования.
The insert query looks like "INSERT INTO SOME_TABLE(Col1,Col2,Col3,Col4) VAlues(@param1, @param2, @param3, @param4)"
Значения параметров правильные, даже в тестовой среде, проверены одинаково, распечатав значения в файле журнала.
Любое объяснение этого необычного поведения.
Конкретный ответ нуждается в конкретной проблемы. Ответ на перенос будет состоять в том, что это должно работать, вы должны делать что-то неправильно. –
попробуйте открыть профилировщик sql и посмотрите, что передается на сервер sql, проверьте значения, которые передаются. должно быть что-то не так со значениями. – Sushil
Попробуйте вставить, используя значения напрямую, без использования .AddWithValue и посмотрите, как выглядит выражение SQL. – SteveFerg