Tratamento de erro - registro duplicado

27/05/2008

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

Respostas

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 Citar

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 Citar

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 Citar