Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal
Estou fazendo um site em asp.net, C#, web form com base de dados mysql, bom organizei as classe de dados numa pasta chamada models dentro dela tenho uma classe de implementação de erros de acesso a banco de dos quando debogo o projeto ela grava a mensagem na variavel certa mais na hora de mostra na tela não mostra a mensagem de erro que da vou postar o codigo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace audioplansp.Models
{
public class Erro
{
private string mErro { get; set; }
public Erro()
{
mErro = "";
}
/// <summary>
/// Retorna a Mensagem de erro
/// </summary>
/// <returns></returns>
public string getMensagemErro()
{
return mErro;
}
public void setMensagemErro(string mErro)
{
this.mErro = mErro;
}
public Boolean isErro()
{
if (getMensagemErro().Trim().Length > 0)
{
return true;
}
return false;
}
public string MensagemErroFormatada()
{
if (isErro())
{
return "Um Erro Inesperado aconteceu !!!<br />Procure departamento responsável e relate o erro abaixo<br /><br />" + getMensagemErro();
}
return "Operação realizada com sucesso !!!";
}
}
}
Como eu implemento esta classe:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;using MySql.Data.MySqlClient;
using System.Data;
using audioplansp.Models;
namespace audioplansp.Models
{
public class UsuarioDb : Erro
{
public List<Usuario> ListaUsuario()
{
/// <summary>
/// UpdateUsuario: método para atualizar dados do usuário
/// </summary>
/// <param name="usuario"></param>
/// <returns></returns>
public int UpdateUsuario(Usuario usuario)
{
DbConneccao conexao = new DbConneccao(TipoConexao.Conexao.Classe);
if (conexao.mErro.Length > 0)
{
setMensagemErro(conexao.mErro);
}
}
}
}
}
Na pagina aspx:
int atualizarusuario = usuariodb.UpdateUsuario(usuario);
if (conexao.mErro.Length > 0)
{
MensagemLabel.CssClass = "alert-info";
MensagemLabel.Text = conexao.mErro.ToString();
}
if (atualizarusuario == 1)
{
MensagemLabel.CssClass = "alert-success";
MensagemLabel.Text = "Usuário cadastro com sucesso!";
}
else if (atualizarusuario == 2)
{
MensagemLabel.CssClass = "alert-warning";
MensagemLabel.Text = "Usuário já cadastro em nossa base de dados!";
}>
8 horas atrás, itlpps disse:
Você não ta chamando MensagemErroFormatada() em lugar nenhum, e esta 'setando' mErro com ela mesma.
Essa classe DbConneccao está setando algo em mErro?
Então cara realmente tinha um metodo na classe DbConneccao que estava setando no mError mas ainda não consegui resolver debugando eu descobri que quando eu chamo o metodo para atualizarusuario por exemplo ele faz certinho grava o erro na variavel mError mas quando chego na pagina a varaivael esta null por que sera?
Coloca variável mErro como static.
consegui arrumar na classe error tinha um método que eu chamava com a mesma variável por isso não aparecia
Você não ta chamando MensagemErroFormatada() em lugar nenhum, e esta 'setando' mErro com ela mesma.
Essa classe DbConneccao está setando algo em mErro?