【问题标题】:Specified cast is not valid - float指定的演员表无效 - 浮动
【发布时间】:2012-07-17 09:27:06
【问题描述】:

不确定为什么我会收到此错误,因为转换其他列工作正常。

基本上我有一个 SELECT 语句可以播放 int/string/float。以下代码仅在浮点数上引发上述错误,但在数据库/视图模型中它们都是浮点数类型。

视图模型

public float personalAmount { get; set; }

存储库

     string selectQuery = "SELECT OC.[id], OC.[number_id], ONU.[mobile_number], OC.[personal_amount], OC.[start_date], OC.[end_date] " +
                                "FROM export OC " +
                                    "INNER JOIN numbers ONU ON OC.number_id = ONU.number_id " +
                                "WHERE OC.[person_id] = " + id;
        SqlCommand myCommand = new SqlCommand(selectQuery);
        myCommand.Connection = myConnection;
        myConnection.Open();

        SqlDataReader dataReader = myCommand.ExecuteReader();
        if (!dataReader.HasRows) return null;

        var newData = new List<List>();
        while (dataReader.Read())
        {
            List list = new List();
            list.id = (int)dataReader["id"];
            list.mobileNumber = dataReader["mobile_number"].ToString();
            list.personalAmount = (float) dataReader["personal_amount"];
            list.startDate = (DateTime)dataReader["start_date"];
            list.endDate = (DateTime)dataReader["end_date"];

            newData.Add(list);
        }
        dataReader.Close();

提前感谢您的帮助:-)

克莱尔

【问题讨论】:

    标签: sql viewmodel datareader


    【解决方案1】:

    您是否尝试过 Float.Parse(dataReader["personal_amount"].ToString())?

    这不是一个很酷的解决方法,但它可能会奏效。

    【讨论】:

      猜你喜欢
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 2014-11-17
      • 1970-01-01
      相关资源
      最近更新 更多