Publicidade

Clauido José

Implementar classe Error

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!";
            }

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não ta chamando MensagemErroFormatada() em lugar nenhum, e esta 'setando' mErro com ela mesma.

 

Essa classe DbConneccao  está setando algo em mErro?

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

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?

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca variável mErro como static.

 

1

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui arrumar na classe error tinha um método que eu chamava com a mesma variável  por isso não aparecia

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora

  • Próximos Eventos

  • Conteúdo Similar

    • Por OCorlleone
      Eu consegui por meio de fóruns esse código que funcionou muito bem da forma que eu desejava, porém eu estava fazendo esse código em VB.NET.
      Porém eu preciso fazer com que esse código funcione da mesma forma em C#
       
      Eu tentei de várias formas alterar para funcionar em C#, mas sem sucesso.
       
      Esse é o código em VB.NET que preciso transpassar para C#
      'Alterar cor da linha com base no resultado obtido através da quinta coluna da tabela (Status) Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then 'Indice da sua coluna status Dim myVal As String = e.Row.Cells(5).Text If myVal = "Completed" Then e.Row.BackColor = System.Drawing.Color.Green ElseIf myVal = "Delayed" Then e.Row.BackColor = System.Drawing.Color.Red ElseIf myVal = "In Progress" Then e.Row.BackColor = System.Drawing.Color.Yellow ElseIf myVal = "New" Then e.Row.BackColor = System.Drawing.Color.White End If End If End Sub  
      Esse código funciona da seguinte forma:
       
      Ele pega o valor dentro do campo de uma determinada tabela, localizada na sexta coluna. E faz a alteração da cor da linha da tabela para a cor designada, para haver diferenciação.
      Aguardo por ajuda.
    • Por OCorlleone
      Estou com dificuldades para fazer com que meus dados sejam carregados na página junto com o carregamento.
      Com o GridView eu consigo fazer com que ele fique fixo, mas não é da forma que preciso que ocorra, preciso de uma função para que ele carregue os dados, que por momento eu tenho via Access, e popule o GridView com os dados carregados.
       
      Esse é o código da minha página no momento.
      Lembrando que preciso fazer com que o GridView receba os dados ao carregar a página.
      <%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site1.Master" CodeBehind="MainView.aspx.vb" Inherits="DosimetryASPNET_WebApplication.MainView" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <asp:Label ID="headerLabel" runat="server" Height="60px" Width="100%" BackColor="#000099"> <asp:Image ID="Image1" runat="server" Height="60px" ImageUrl="~/Images/tetra-pak-mottostamp-logoype.png" Width="70px" /> </asp:Label> </asp:Content> <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder3" runat="server"> <asp:Button ID="btnMenuView" runat="server" Text="Return to Menu" Width="200px" OnClick="btnMenuView_Click"/> <br /> <br /> </asp:Content> <asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder4" runat="server"> <br /> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> </asp:GridView> </asp:Content>  
      Espero ter conseguido ser claro com minha dúvida.
      Aguardo por ajuda.
    • Por LuanMartinsTI
      Pessoal é o seguinte, tenho em um aplicativo o controle de flode, e para verificar as palavras digitadas, primeiro eu dou um replace em todos os espaços do texto e em caracteres especiais e verifico se alguma pessoa digitou uma palavra proibida, exemplo um xingamento "pu...." mas eu enfrento um grande problema, se a pessoa acentuar a palavra eu não consigo pegar no script, eu já vi diversas vezes na internet varios codigos que tiram o acento, realmente eles tiram sim, mas add um simbolo na frente, e de forma alguma consigo tirar o simbolo na verificação com o replace, ex, se eu quero proibir a palavra imasters, ai a pessoa digita imásters eu não consigo, e se passar na função que tira a acentuação, ele vai exibir no console assim: ima!ster, e no meu replace tem la que ("!",""), mas mesmo assim não tira, qual seria minha solução?
       
      byte[] bytes = System.Text.Encoding.GetEncoding("iso-8859-8").GetBytes(texto); texto = texto.Replace("-", "").Replace("á", "").Replace("^", "").Replace("/", "").Replace("_", "").Replace(".", "").Replace("*", "").Replace("'", "").Replace("#", "").Replace("@", "").Replace("!", "").Replace(",", "").Replace("?", "").Replace("`", "").Replace("=", "").Replace("+", "").Replace("\\", "").Replace("{", "").Replace("}", "").Replace("[", "").Replace("]", "").Replace("(", "").Replace(")", "").Replace(" ", "");  
      já tentei também colocar no replace vogais já acentuada, porem não funciona, tipo assim: ("á","")
       
      alguém pode me ajudar?
    • Por rafaelsouzab
      Boa tarde,
       
      Estou desenvolvendo uma aplicação em 3 camadas e estou com uma duvida na parte do sistema que eu tenho um modelo de Tarefas, e essas tarefas possuem algumas prioridades, porem no banco de dados eu separei a tabela tarefas de prioridades, gostaria de saber se estaria fugindo muito do conceito de uma aplicação em 3 camadas se eu deixasse as propriedades das prioridades no modelo Tarefas. então basicamente esta separado e relacionado no banco de dados porem no sistema esta tudo no mesmo modelo.
    • Por CrisRodrigues
      Olá alguem para me ajudar? bom baixei um script/site em outro forum que usa C#, por enquanto só sei mexer com php nada mais, bom na nota do site diz o seguinte:
      ## Requirements to build and run * .NET Core runtime * .NET Core SDK * Visual Studio 2017 Community Edition * npm ## How to build Just open the solution in Visual Studio, do a `dotnet restore` and then publish the project.  
      Baixei todos os programas requeridos para buildar, más não estou conseguindo fazer o resto para obter o site