У меня есть столбец базы данных с именем EarlyHoursStartTime, который объявлен как float.
Затем у меня есть код, в котором я перебираю всю таблицу с помощью DataReader.
SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
while (myReader.Read())
{
cmdInsertLocation.Parameters.AddWithValue("@EarlyHoursStartTime", myReader.GetFloat(44)); <- Error here
}
Я получаю сообщение об ошибке в строке AddwithValues выше.
"Указанный состав недействителен."
myReader.GetValue(44) показывает значение 0,0, когда это происходит.
Я пробовал всевозможные вещи, чтобы обойти это, например, вместо этого вместо этого вводить значение по умолчанию, если:
if (Convert.ToString(myReader.GetValue(44)) == "0.0")
но это должно быть ненужным, и это все равно не работает.
Почему я получаю недопустимое исключение приведения, когда значение равно 0,0? Поле базы данных, прочитанное устройством чтения данных, равно Float, так в чем проблема?
GetDouble
как эквивалент Число с плавающей запятой SQL двойное - person V4Vendetta   schedule 12.12.2012