MVC获取异常指定的强制转换是无效的

时间:2018-05-24 10:27:14

标签: c# sql-server

我尝试执行SQL查询时遇到异常specified cast is not valid,当我尝试在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; }
}

2 个答案:

答案 0 :(得分:0)

您必须根据此页面将AHT声明为Double SQL Server DataType Mapping

public double AHT { get; set; }

希望这会对你有所帮助 此致

答案 1 :(得分:0)

我编辑了我的答案。

你应该使用double。

另外,请尝试使用这样的列名进行精确度

            string data= string.Empty;
            int indeks = read.GetOrdinal("columnname");
            if (!read.IsDBNull(indeks))
            {
                data= read.GetString(indeks);
            }

您也可以使用

之类的SQL查询
Select datacolumn as AHT from ...