Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eddy Goulart

Camada banco de dados + try catch

Recommended Posts

Bom, meu projeto possui 3 camadas, uma delas é a que faz comunicação com banco de dados onde possui uma classe que ajuda na comunicação.. bom, gostaria de lançar um erro em qualquer lugar da tela a partir do try catch.. tenho um metodo que recebi um sql e inseri..

 

       public static bool ExecuteQuery(String sql)
        {
            MySqlConnection conn = new MySqlConnection(Conexao());
            MySqlCommand cmd = new MySqlCommand(sql, conn);
            try
            {
                conn.Open();
                cmd.ExecuteNonQuery();
                return true;
            }
            catch
            {
                return false;
            }
            finally
            {
                conn.Close();
            }
        } 

gostaria de quando ele entrasse no catch ele lansace a msg de erro em algum lugar, mais não consigo fazer isso pois esse metodo esta dentro de uma classe que ajuda na comunicação com o banco.. na minha aplicação possui uma MasterPage, será que dá para botar uma label na MasterPage e sempre que for lançado um erro a mensagem ser lançada nessa label da masterpage?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da não cara, eu recomendo a cada erro você criar um html em uma pasta especifica ou disparar um email, eu disparo um email pra mim.

 

catch (Exception ex)

{

Erro(ex)

return false;

}

 

ai esse metodo Erro trata o erro e dispara um email pra mim, ou pode-se criar um html em uma pasta

Compartilhar este post


Link para o post
Compartilhar em outros sites

kleinkauff, a diferença é que como ele falou q está em camadas vai ficar complicado(mas não impossível) pegar o erro que foi gerando na Camada de Negócio (que é uma DLL).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Eddy, vamos ver se consigo lhe ajudar...

 

Abaixo irei colocar um sequencia de conexao com banco de dados..ela está em mysql mas pode ser substituida por qualquer uma, desque tenha os drivers nativos importados para o visual studio

 

string strConexao = @"server=localhost;database=banco;uid=user;pwd=1;";
        string sSql = "select * from horarios ";
        using (MySqlConnection conn = new MySqlConnection(strConexao))
        {

            MySqlDataReader r = null;
            MySqlCommand cmd = new MySqlCommand(sSql, conn);
            try
            {

                conn.Open();

                r = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                if (r.Read())
                {

                    verificanovohorario = "n";

                }
                else
                {
                    verificanovohorario = "s";

                }
            }
            //menssagem de erro
            catch (MySqlException ex)
            {

                Response.Write(ex.Message);
            }
            /mensagem de operacao invalida
            catch (InvalidOperationException ex)
            {
                Response.Write(ex.Message);

            }
            //mensagem de exessao
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }
            //fecha o datareader
            finally
            {
                if (r != null)
                    r.Close();
            }
        }


O ex e a variavel onde consta mensagem de erro do banco!

 

Pode fazer o que quiser com ela agora!! hehe..abraços!

 

Qualquer dúvida poste ai

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.