Tratamento de erro - registro duplicado
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?
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
Curtidas 0
Respostas
Burnbr
27/05/2008
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
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
GOSTEI 0
Galenosf
27/05/2008
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
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
GOSTEI 0
Burnbr
27/05/2008
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
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
GOSTEI 0