显示float SQL数据类型

时间:2014-02-19 01:34:11

标签: c# sql sql-server

我遇到从浮动SQL数据类型显示到我的文本框的问题。到目前为止,我可以获得字符串以显示正常以及int数据类型。当谈到花车或甚至小数时,它想要投入适合,我不完全确定原因。这是我得到的错误:

  

无法将类型'float'隐式转换为'int'。一个明确的   存在转换(你错过了演员吗?)

如何强制ships.Height = (float)shipReader["HeightTest"];成为一个浮点而不是一个int,因为如果我只是将它保留为int,它仍然不会显示它而不会抛出错误。在运行它时会弹出一条错误消息,“指定的强制转换无效”。

SqlDataReader shipReader = 
                    selectCommand.ExecuteReader(CommandBehavior.SingleRow);
if(shipReader.Read())
{
    Ships ships = new Ships();
    ships.Role = shipReader["Role"].ToString();
    ships.Description = shipReader["Description"].ToString();
    ships.NullCargoMass = (int)shipReader["NullCargoMass"];
    ships.Height = (float)shipReader["HeightTest"];
    return ships;
}

2 个答案:

答案 0 :(得分:2)

ships.Height = Convert.ToSingle(shipReader["HeightTest"]);

答案 1 :(得分:1)

使用SqlDataReader对象提供的辅助方法GetFloat

shipReader.GetFloat(shipReader.GetOrdinal("HeightTest"))