scape 0 Denunciar post Postado Agosto 18, 2003 Pessoal,Estou querendo saber qual o erro o sistema retorna, por exemplo, assim que alguém tentar inserir algo e for um campo duplicado eu saberei, assim como qualquer outro erro, estou usando o código abaixo:try {cadTecnicosAt.incluir(tecnicosDTO, lstBox_MPSelecionados.Items, lstBox_APSelecionados.Items, lstBox_CPSelecionados.Items);Response.Redirect("confirma.aspx?op=1"); //OP=1 cadastro, OP=2 alteracao}catch (System.Data.OleDb.OleDbException) {Page.Response.Write("<script language=\"javascript\"> alert('Ocorreu um erro de Banco de Dados durante a inserção do registro!')</script>");}catch (System.Exception) { Page.Response.Write("<script language=\"javascript\"> alert('Ocorreu um erro geral durante a inserção do registro!')</script>");} Compartilhar este post Link para o post Compartilhar em outros sites
felipedrumond 0 Denunciar post Postado Agosto 18, 2003 Você pode colocar a sua tentativa de acao no banco dentro de um TRY e usar uma CATCH para SQL (se o banco for SQL) ou Oledb (se for Access, por exemplo). Veja o exemplo e adapte...catch (SqlException S) { foreach(SqlError error in S.Errors) { switch (error.Number) { case 2627: response= "Erro nº: "+error.Number+" - Este código já existe e não pode ser duplicado..."; break; case 3621: response= "Erro nº: "+error.Number+" - Este código já existe e não pode ser duplicado..."; break; case 18456: response= "Erro nº: "+error.Number+" - Erro de login no banco de dados. Contate o administrador do sistema..."; break; case 17: response= "Erro nº: "+error.Number+" - O servidor não está respondendo. Contate o administrador do sistema..."; break; case 4060: response= "Erro nº: "+error.Number+" - Banco de dados não localizado. Contate o administrador do sistema..."; break; case 547: if (acao == "insert") { response= "Erro nº: "+error.Number+" - Impossível incluir este registro. Algum(ns) dado(s) inserido(s) não confere(m). Use as comboboxes para inserir um valor permitido..."; } if (acao == "delete") { response= "Erro nº: "+error.Number+" - Impossível excluir este registro. Existem cadastros em outras tabelas que dependem do mesmo..."; } break; default: response= "Erro nº: "+error.Number+" - Contate o administrador do sistema informando o número e o erro." + "<BR>" + S; break;; } // END SWITCH } // END FOREACH } // END CATCH catch (OleDbException O) { foreach (OleDbError error in O.Errors) { switch (error.NativeError) { case -105121349: response = "Este código já existe e não pode ser duplicado..."; break; case -541396598: response = "Um ou mais campos não foram preenchidos..."; break; default: response = error.NativeError.ToString() + "<BR>" + error.Message.ToString() + "<BR>" + strSQL; break; } } } Compartilhar este post Link para o post Compartilhar em outros sites