Я получаю исключение specified cast is not valid при попытке выполнить SQL-запрос, который возвращает значения, когда я пытался выполнить в SQL Server IDE. Тип данных AHT - float, а для DID - nvarchar Вот код, при котором я получаю сообщение об ошибке:
while (reader.Read()){
SomeDetails details = new LiveAHTDetails();
details.AHT = reader.GetFloat(0);
details.DID = reader.GetString(1);
// another codes
}
Вот моя модель:
public class SomeDetails
{
public SomeDetails() { }
public float AHT { get; set; }
public string DID { get; set; }
}
первый, а затем. Если я удалил его, он перейдет ко второму: details.AHT = reader.GetFloat (0); детали.DID = reader.GetString (1);
Пожалуйста, добавьте снимок экрана с выводом вашего sql-запроса. Это даст нам прямую ссылку на проблему.
Попробуйте reader.getsqldouble в соответствии с документацией Microsoft





Вы должны объявить AHT как Double в соответствии с этой страницей Сопоставление типов данных SQL Server
public double AHT { get; set; }
Надеюсь, что это поможет вам С Уважением
Я отредактировал свой ответ.
Вы должны использовать double.
Также попробуйте использовать такие имена столбцов для точности
string data= string.Empty;
int indeks = read.GetOrdinal("columnname");
if (!read.IsDBNull(indeks))
{
data= read.GetString(indeks);
}
Также вы можете использовать свой sql-запрос, например
Select datacolumn as AHT from ...
Тип данных AHT - float, а для DID - nvarchar в БД. Пробовал дважды, и это не сработало
на котором лайк выдается ошибка