如何使用execute scalar返回bool

时间:2013-09-13 23:20:57

标签: c# asp.net sql-server visual-studio-2010 sql-server-2008

我有一个存储过程返回一个布尔变量:

这是我的C#代码,当我尝试返回一个int变量时可以工作。但是当我为bool尝试它时它不起作用。

DbCommand dbCommand = db.GetStoredProcCommand("spGetConfigureAlerts");
            object o = db.ExecuteScalar(dbCommand);
            bool item = o == null ? 0 : (bool)o;
            return item;

我如上所示,但在第三行它说:

Type of conditional expression cannot be determined because there is no implicit conversion between 'int' and 'bool'    

我该如何解决?

3 个答案:

答案 0 :(得分:6)

如果要初始化0变量,为什么要使用bool

bool item = (o == null || DBNull.Value == o) ? false : (bool)o;

答案 1 :(得分:1)

bool item = o == null ? false : (bool)o;

答案 2 :(得分:0)

试试这个:

bool item = o == null ? false : (bool)o;