c# - SqlDataReader 显示 InvalidCastException(C# Windows 窗体)

标签 c# sqldatareader .net

SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["myDB"].ConnectionString);
sqlConn.Open();
SqlCommand sqlComm = new SqlCommand("SELECT Price FROM Pricing WHERE FoodID = 1", sqlConn);
SqlDataReader r = sqlComm.ExecuteReader();
while (r.Read())
{
    price1 = (float)r["Price"];
}
r.Close(); 
sqlConn.Close();

我得到的 InvalidCastException 错误指向“price1 = (float)r["Price"];”我是 c# 和任何编程语言的新手,请指导我!

最佳答案

假设 Price 是一个 float ,你应该使用 GetFloat相反:

price1 = r.GetFloat(0); // first column

关于c# - SqlDataReader 显示 InvalidCastException(C# Windows 窗体),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7464978/

相关文章:

c# - 是否可以将不相关的锁定语句之后的读取指令移动到锁定之前?

c# - 存储包含敏感数据的文档有哪些良好做法

c# - 我可以将 WCF DataContract 添加到复杂类型吗?

c# - SqlDataReader 按列名取值(不是序号)

c# - 设计一个多对一的移动应用程序 -> 数据库 -> 桌面应用程序项目

c# - Com-Port 包被切断。而是由于 Zigbee 或 Com-Port?

c# - 如何防止 Serilog 将每一个小步骤自动记录为信息?

c# - 我可以从 C# 控制台窗口获得复制/粘贴功能吗?

c# - SQLDataReader 运行速度太慢取决于标准

c# - SqlDataReader - 结果集缓存?