Bonjour,
je travail sous VB2005, mon problème est je fait des insertions dans une base et que j'aimerais attraper le message d'erreur correspondant à un refus d'insertion afin de pop un msgbox à l'utilisateur.
Le code était à la base celui d'Access et cela marchait sans soucis, mais en VB2005 je ne sais pas trop comment faire.
(Sous SQL serveur un refus d'insertion ca donne ca:
Serveur : Msg 2601, Niveau 14, État 3, Ligne 1
Impossible d'insérer une ligne de clé en double dans l'objet 'canal' avec un index unique 'canal_reference'.
L'instruction a été arrêtée.)
Voilà, en espérant avoir vite une réponse (constructive) ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Public Function Insertion(ByVal num, ByVal reference, ByVal code, ByVal libelle) As Integer (Toutes les déclarations qui vont bien ...) On Error GoTo ErreurExec Select Case num Case 0 ... Case 1 ... End Select StrSql = "INSERT INTO canal VALUES (...) Dim cmd As New OdbcCommand(StrSql, New OdbcConnection(ChoixPC(ComboBox1.SelectedItem))) Insertion = 1 Exit Function ErreurExec: If Err.Number = 3146 Then MsgBox("Le canal " & codephysique & " existe déjà dans le site " & reference & ".") Insertion = 1 Else MsgBox("Erreur d'execution. Appeler votre administrateur.") Insertion = 0 End If End Function
Partager