I bet if you check the value of returnObject
, it will be NULL
:
using (var con = new SqlConnection(Config.ConnectionString))
{
object returnedObject = con.ExecuteScalar("spUser_getUBID",
new { name = name, pass = PassHash },
null, null,
commandType: CommandType.StoredProcedure);
// what value do you get here, in "returnedObject" ??
if (returnedObject != null)
{
return (int)returnedObject;
}
}
ALWAYS check your returned values for null - don't just blindly assume they're ok - many times they're not OK ! Just typecasting using (int)
without a NULL check is bound to cause exceptions .....
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…