从sqlcommand返回bool结果

时间:2013-09-11 19:51:44

标签: c# asp.net-mvc sqlcommand

我创建了一个存储过程以返回一个bool,我正在尝试在我的应用程序(asp.net mvc c#)中建立它的连接,但我不知道我应该如何执行命令来正确返回bool。

代码:

public virtual bool CheckEmail(string email, int Id)
        {

            SqlCommand _command = new SqlCommand("dbo.CheckEmail");
            _command.Connection = DbInstance.SqlConnection;
            _command.CommandType = CommandType.StoredProcedure;
            _command.Parameters.Add(new SqlParameter { ParameterName = "Email", SqlDbType = SqlDbType.NVarChar, Value = email });
            _command.Parameters.Add(new SqlParameter { ParameterName = "Id", SqlDbType = SqlDbType.Int, Value = Id});

            ........
        }

我以为我会尝试:

var _result = DbInstance.ExecuteAsSingle<int>(_command, r => r.GetValueOrDefault<int>(0));

            if (_result > 0)
                return true;
            return false;

我得到的错误是:{"Specified cast is not valid."}

任何有用的提示都会很棒 - 谢谢。

1 个答案:

答案 0 :(得分:3)

你有没有尝试过;

return DbInstance.ExecuteAsSingle<bool>(_command, r => r.GetValueOrDefault<bool>(0));

而不是您发布的第二个代码块?