Tratamento de erro - registro duplicado

27/05/2008

0

Boa tarde a todos!

Tenho uma tabela onde cadastrarei sobre a passagem do nosso produto entre fases da montagem final.
Nessa tabela tenho os campo n/s do produto; tipo de passagem, estes dois campos são chave primaria, e não podem ser cadastrados em duplicidade...

[b:883a5af719]A questão é, ao cadastrar em duplicidade é retornado um erro gigantesco pelo navegador e eu gostaria de tratar esse erro e informar o usuário que o registro não foi cadastrado pois esta duplicado.[/b:883a5af719] Como faço isso?


Galenosf

Galenosf

Responder

Posts

30/05/2008

Burnbr

Boa tarde,

coloque seu bloco de insert dentro de um bloco
try/catch e trate o erro.

quando é insert duplicado ele retorna sempre o mesmo tipo de erro.
Ai vc manda uma msg para o usuario.

Att


Responder

30/05/2008

Galenosf

BurnBr, estou usando essa rotina, veja abaixo:

Try
cmd.ExecuteNonQuery()
limpa_campos(´a´)
Me.MessageBox1.ShowMessage(´Cadastro realizado com sucesso!!!´)
´lbl_info.Text = ´Cadastro realizado com sucesso!!!´
´MsgBox(´Cadastro realizado com sucesso!!!´, MsgBoxStyle.Information, ´Embraer´)
Catch ex As Exception
´If system.Data.OleDb.OleDbException. = -217467259 Then

´End If
Response.Write(ex.ToString())
Finally

End Try

A questão é, como incluir um tratamento de erro que me retorne qual o codigo do erro, que com issso poderei enviar avisos de acordo com a situação ocorrida.

No VB eu uso, o err.number e no .NET?

Abraços


Responder

30/05/2008

Burnbr

a exception de duplicar a chave é um tipo

Catch ex As Exception
´If system.Data.OleDb.OleDbException. = -217467259 Then
vc poe mais um cath

Catch ex As DuplicateIndex ´nao eh esse nome, mas é assim que se faz
´Faz uma coisa
Catch ex As Exception
´Faz outra coisa


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar