我正在使用 MySql 数据库,如果我执行解决方案,我会在 catch 块中收到异常,下面是我的代码
MySqlManager dac = new MySqlManager();
long value = 0;
DbCommand dbCommand = dac.GetStoredProcCommand("Spforgotpassword");
dac.AddOutParameter(dbCommand, "p_op_EmailId", DbType.Int32, -1);
dac.AddInParameter(dbCommand, "p_p_EmailId", DbType.String, data.Email_Id);
dac.AddInParameter(dbCommand, "p_p_Password", DbType.String, Generatehash256(data.Password));
dac.AddInParameter(dbCommand, "p_P_EncryptedPassword", DbType.String, Encryption.Encrypt(data.Password));
dac.AddInParameter(dbCommand, "p_P_Mode", DbType.String, 102);
dac.AddInParameter(dbCommand, "p_IPAddress", DbType.String, data.IPAddress);
IDataReader reader = dac.ExecuteReader(dbCommand);
if (reader.Read())
{
value = reader["result"] == DBNull.Value ? default(long) : Convert.ToInt32(reader["result"]);
}
dac.CloseConnection(dbCommand, reader);
if (Convert.ToBoolean(ConfigurationSettings.AppSettings["EnableEmail"]))
{
if (Convert.ToInt32(dac.GetParameterValue(dbCommand, "p_op_EmailId")) != -1)
{
Mail.WebMail oWebmail = new Mail.WebMail(dac.GetParameterValue(dbCommand, "p_op_EmailId").ToString());
}
}
return value;
一旦我执行这一行,我就会收到异常 --- Object cannot be cast from DBNull to other types
dac.GetParameterValue(dbCommand, "p_op_EmailId")
该p_op_EmailId是输出参数。
白衣非少年
相关分类