У меня есть поле в моей таблице, которая NVARCHAR, когда привязывается в .Net он преобразуется в целое число (тест имеет значение «305415042-1»)Отображение данных NVARCHAR вопрос преобразуется в INT
Тест не работает, потому что «При отливке из числа значение должно быть числом меньше бесконечности»
Как явное или точное преобразование поля, чтобы оно фактически принимало его как строку и не пыталось преобразовать его как int?
Ошибка происходит здесь на BetReference (Это поле НЕ будет только цифры, но и для текущих данных у меня есть это число):
while (dr.Read())
{
var b = new Bet
{
Id = (int) dr["Id"],
BetTypeId = (int) dr["BetTypeId"],
BetAmount = (decimal) dr["BetAmount"],
BetAmountToWin = (decimal) dr["BetAmountToWin"],
BetLocationId = (int) dr["BetLocationId"],
BetReferenceNumber = (dr["BetReferenceNumber"]).ToString()
};
data.Add(b);
}
благодаря
EDIT:
Проблема была связана с тем, что типы данных в DB были float, и я пытаюсь преобразовать их в десятичные. Изменен тип данных для столбцов и работал.
Почему он получает Int в DataReader? Вы набрали datareader? –
У меня есть var dr = cmd.ExecuteReader(); затем Пройдите через dr.Read() – wele
@wele Покажите нам * SELECT *. * NVARCHAR * не преобразуются в числа маленькими феями ... – xanatos