Как заменить нулевые значения в инструкции select в SQL server с помощью VB.NET 2015 год
Привет,
Я получаю ошибку в своем коде, когда я хочу сохранить 0, если есть нулевое значение в функции sum в операторе select,в моем поле таблицы базы данных, не принимающем нулевые значения, и я даю значение по умолчанию 0.00.
Что я уже пробовал:
Я попытался использовать isnull(sum(field, 0))
Это код
SaveInto.CommandText = "UPDATE TrialBalance SET TransactionBalance = (SELECT isnull(SUM(Dr_Acc_Value),0.00) As NullValue From JV_QRY GROUP BY Main_Gr_Code,JV_Year HAVING Main_Gr_Code = '" & Trim(Account_Code) & "' And JV_Year = '" & CurYear & "') where Account = '" & Trim(Account_Code) & "'" If Not conn.State = ConnectionState.Open Then conn.Open() SaveInto.ExecuteNonQuery()
Richard MacCutchan
А ошибка есть?
naif radi
Ошибка заключается в следующем:
Не удается вставить NULL в столбец "имя столбца", столбец не допускает null, обновление завершается неудачно.
Richard MacCutchan
Попробуйте оператор SELECT сам по себе и посмотрите, какой результат вы получите.
CHill60
И не используйте сцепленные строки для создания командного текста ... вместо этого используйте параметризованные запросы.
Попробуйте использовать SUM(ISNULL(Dr_Acc_Value, 0.00)) As NullValue
.. или если это один из других столбцов, то скажите нам, какое имя столбца было указано в сообщении об ошибке!!
naif radi
я попытался использовать "SUM(ISNULL(Dr_Acc_Value, 0.00)) Как NullValue", но когда я проверяю результат, он дает нулевые значения, если я позволяю полю принимать нулевые значения.
CHill60
Неужели? Я получил ноль, когда попробовал
naif radi
Да это действительно так, :)
CHill60
Учитывая, что SUM игнорирует нулевые значения, он не может вернуть NULL из SUM (ISNULL(Dr_Acc_Value, 0.00)), поэтому вы что-то неправильно набрали.
SUM (Transact-SQL)[^]