首页 > 解决方案 > 对象不能从 DBNull 分配给其他类型

问题描述

我在我的数据库中得到最小数量。但是当我的数据库中没有数据时,我会收到此错误。

System.InvalidCastException:“该对象不能从 DBNull 分配给其他类型。”

代码:

SqlCommand cmd = new SqlCommand("SELECT MAX(GidenEvrakSira) FROM GidenEvrak", con);    
SqlCommand smd = new SqlCommand("Select Min(GidenEvrakSira) FROM GidenEvrak Where UserID is null", con);    

con.Open();    

maxnum = Convert.ToInt32(cmd.ExecuteScalar());
minum = Convert.ToInt32(smd.ExecuteScalar());    

con.Close();

标签: c#sql-serverasp.net-mvcdbnullexecutescalar

解决方案


评论中的 jdweng 建议正在发挥作用:

var results = (cmd.ExecuteScalar() == DBNull.Value) ? null : cmd.ExecuteScalar();

推荐阅读