2012-07-17 59 views
1

不确定为什么我收到此错误,因为转换其他列已正常工作。指定的演员表无效 - float

基本上我有一个SELECT语句播放int/string/float。以下代码仅在float上引发上述错误,但在Database/ViewModel中它们都是Float类型。

视图模型

public float personalAmount { get; set; } 

REPOSITORY提前

 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(); 

感谢:-)

任何帮助

克莱尔

回答

3

您是否尝试过做一个Float.Parse(DataReader的[” personal_amount“]。的ToString())?

这不是一个很酷的解决方法,但它可能工作。

+0

谢谢你,这工作:--D – ClareBear 2012-07-17 09:47:27