[VB.Net] Quelle est l'Exception pour un doublon dans un index ?
Quel est le nom de l'exception pour "doublon dans un index"
[VB.Net] Quelle est l'Exception pour un doublon dans un index ?
Un doublon dans un index lorsque je veux ajouter un enregistrement dans un table MS Access (base de données). Le champ en question est indexé (Oui, sans doublons). Alors, lorsque l'on essaie d'enregistrer un enregistrement dans ce champ (même valeur qu'un autre champ), il génère une erreur comme "Doublon dans un index......". J'aimerais récupérer cette erreur pour avertir l'utilisateur pour qu'il puisse corriger et enregistrer à nouveau.
Code:
1 2 3 4 5 6
|
[Try]
traitement.....
[Catch objException As Exception] |
remplacer "Exception" par le mot qui récupérerait cette exception ou le code si possible.
[VB.Net] Quelle est l'Exception pour un doublon dans un index ?
L'exception qu'il me donne est :
"System.Data.OleDb.OleDbException"
C'est bien vaste comme exception! Cela peut-être plusieurs erreurs provenant des tables de MS Access. Qu'est ce qui me dit que c'est bien "Doublon dans un index...". Il faut que je sois vraiment très précis!
Pour ce qui est de "InnerException", j'essaie de m,en servir en mode "Debug" et cela ne fonctionne pas, il ferme mon formulaire tout simplement et aucun message n,apparaît à l'écran...bizarre!!!
Ex.: Catch objException As Exception
MessageBox.Show(objException.InnerException.Message)
MessageBox.Show(objException.InnerException.ToString)
et rien ne fonctionne...
merci de votre aide!
[VB.Net] Quelle est l'Exception pour un doublon dans un index ?
J'aimerais avoir plus de précision sur "mettre une conditionnelle", "récupération d'un HResult".
Cela ne fais pas longtemps que je travaille en Vb.Net surtout pour ce qui est des exceptions!
Et si on parlait aussi de "ContraintException" ????
Merci de ton aide!
[VB.Net] Quelle est l'Exception pour un doublon dans un index ?
Comment obtenir le HResult, je ne sais pas comment procéder!
Je n'ai aucune idée comment procéder!
Je suis complètement perdu!
Je vais voir sur le lien de "ErrorCode" que j'avais déjà trouvé, mais je ne sais pas comment procéder pour arriver à gérer l'exception que je désire!
Je manque beaucoup d'information à ce sujet!!!
Un exemple serait le bienvenue pour avoir le "HResult"!
Merci!
[VB.Net] Quelle est l'Exception pour un doublon dans un index ?
Cela fonctionne très bien.
Est-ce que le "HResult" va toujours me retourner le même numéro pour l'erreur "doublon dans un index".
D'après msdn, HREsult = valeur numérique codée qui est assignée à une exception spécifique.
HRESULT est une valeur 32 bits divisée en trois champs : un code de gravité, un code de service et un code d'erreur. Le code de gravité indique si la valeur de retour représente une information, un avertissement ou une erreur. Le code de service identifie la zone du système responsable de l'erreur. Le code d'erreur est un numéro unique assigné pour représenter l'exception.
Si oui, cela serait formidable!
Je vais faire différent test pour vérifier!
Un gros merci!
[VB.Net] Quelle est l'Exception pour un doublon dans un index ?
Je lis le HResult de la manière suivante pour obtenir un code à 10 caractères
Code:
1 2 3 4 5 6 7 8 9
|
Catch objException As System.Data.OleDb.OleDbException
If objException.ErrorCode = -2147467259 Then
message.....
End If
Catch objException As Exception
autre gestion d'erreur....
End Try |
mais cela ne fonctionne (.ErrorCode) que pour "OleDbException" et non pour "Exception"
J'ai fait différent test d'erreur sur les bases de données et les no. sont différents. J'ai fait des tests d'erreur ("doublon dans un index") dans différents formulaires et tables Access, et sur un autre ordinateur et j'obtient le même code d'erreur ("ErrorCode").
Je pense que j'ai trouvé ce que je recherchais. Avoir un code unique pour "trapper" une erreur particulière.
J'espère de ne pas me tromper et que je suis dans la bonne voie.
Merci beaucoup de ton aide!!!