Оригинальный вопрос:
Почему я получаю ошибку арифметического переполнения при преобразовании числового значения в числовой тип данных в коде ADO.NET с использованием типа данных Money, если сумма превышает 999 999,99 $?
Как говорится в вопросе ... У меня есть немного кода ADO.net на уровне доступа к данным, который взаимодействует с базой данных Sql Server 2008. В таблице есть столбец «Сумма» с типом данных «Деньги». Код работает нормально при вставке записи с суммой <1 000 000, но выдает эту ошибку, когда сумма> = 1 000 000:
«Ошибка арифметического переполнения при преобразовании числового значения в числовой тип данных»
Я могу вручную запустить t-sql для базы данных, обновив сумму до значения, превышающего 1 000 000 долларов США, чтобы база данных могла, кроме суммы штрафа ... что это за следующая SqlCommand, которая вызывает ошибку?
MyCommand.Parameters.Add(New SqlParameter("@Amount", SqlDbType.Money))
If IsNothing(Amount) Then
MyCommand.Parameters("@Amount").Value = Convert.DBNull
Else
MyCommand.Parameters("@Amount").Value = Amount
End If