Sql 指定的强制转换无效-浮点
不确定为什么我会收到此错误,因为转换其他列工作正常 基本上我有一个SELECT语句,它回放int/string/float。下面的代码只在float上抛出上述错误,但是在Database/ViewModel中,它们都是float类型 视图模型Sql 指定的强制转换无效-浮点,sql,viewmodel,datareader,Sql,Viewmodel,Datareader,不确定为什么我会收到此错误,因为转换其他列工作正常 基本上我有一个SELECT语句,它回放int/string/float。下面的代码只在float上抛出上述错误,但是在Database/ViewModel中,它们都是float类型 视图模型 public float personalAmount { get; set; } 存储库 string selectQuery = "SELECT OC.[id], OC.[number_id], ONU.[mobile_number], O
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();
string selectQuery=“选择OC.[id],OC.[number\u id],ONU.[mobile\u number],OC.[personal\u amount],OC.[start\u date],OC.[end\u date]”+
“来自导出OC”+
“OC.number\u id=ONU.number\u id上的内部连接编号ONU”+
“其中OC.[person_id]=”+id;
SqlCommand myCommand=新建SqlCommand(选择查询);
myCommand.Connection=myConnection;
myConnection.Open();
SqlDataReader=myCommand.ExecuteReader();
如果(!dataReader.HasRows)返回null;
var newData=newlist();
while(dataReader.Read())
{
列表=新列表();
list.id=(int)dataReader[“id”];
list.mobileNumber=dataReader[“mobile_number”].ToString();
list.personalAmount=(float)数据读取器[“个人金额”];
list.startDate=(DateTime)数据读取器[“开始日期”];
list.endDate=(DateTime)数据读取器[“end_date”];
newData.Add(列表);
}
dataReader.Close();
提前感谢您的帮助:-)
Clare您是否尝试过执行Float.Parse(dataReader[“personal_amount”].ToString())操作 这不是一个很酷的解决方法,但它可能有效