bonjour
j'ai une base de données sous SQL-SERVER 2000 et dans une des tables, j'ai défini la contrainte "UNIQUE" sur deux champs différents.
comment savoir quel est le champ qui a provoqué l'exception (ou qui a violé la contrainte)
merci beaucoup
bonjour
j'ai une base de données sous SQL-SERVER 2000 et dans une des tables, j'ai défini la contrainte "UNIQUE" sur deux champs différents.
comment savoir quel est le champ qui a provoqué l'exception (ou qui a violé la contrainte)
merci beaucoup
Moi je n'ai jamais trouvé car la seule Exception retournée est SQLException ...
Biensur, s'il y a un moyen de faire ca, je veux bien que l'on m'explique comment.
Bah au lieu de te casser la tête avec quel champs a provoqué l'execption essaie de faire des requête sur les champs en UNIQUE avant insertion si sa n'existe pas alors tu insere sinon tu retourne un message d'erreur à l'utilisateur
je travaille en mode déconnecté; et je n'ai pas besoin de charger toute la table dans le dataset donc il se peut que j'insere un tuple qui n'existe pas dans le dataset mais qui existe dans la BDD.
on peut faire une procedure stockée, mais c trop facile.
je pense à inserer la contrainte dans le dataset, mais je ne pense pas que ça regle le prob.
donc il faut bien chercher
merci en tout cas, et si je trouve qlq chose je vous le dirai
salut
!! tu travaille en mode déconnecté et t'as pas besoinde DataSet!!
je trouve ça absurde
Il n'a pas dit ca .... regardes bien :!! tu travaille en mode déconnecté et t'as pas besoinde DataSet!!
et je n'ai pas besoin de charger toute la table dans le dataset
pour résoudre le prob
il faut donner un nom a la contrainte et capturer l'exception sqlClient.excption
et verifier si le message commence par "Violation de la contrainte UNIQUE KEY 'nom de la contrainte' "
catch ex as sqlClient.exception
if ex.message.startwith("Violation de la contrainte UNIQUE KEY 'nom de la contrainte'")
traiter l'exception
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager