IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDK Discussion :

CR VS05 violation contrainte non null


Sujet :

SDK

  1. #1
    Membre averti Avatar de LhIaScZkTer
    Inscrit en
    Mai 2004
    Messages
    564
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2004
    Messages : 564
    Points : 301
    Points
    301
    Par défaut CR VS05 violation contrainte non null
    Bonjour à tous,

    j'ai un rapport qui me génère une exception lors de son appel :
    Impossible d'activer les contraintes. Une ou plusieurs lignes contiennent des valeurs qui violent les contraintes de type non null, unique ou de clé externe. (...)
    Ce que je ne comprend pas, c'est que si j'exécute la requête sql de mon SqlCommand directement sur Sql Server, celle-ci se passe très bien, ou si cette requête ne retourne qu'un seul résultat. Par contre, dès qu'il y a plusieurs ligne à généré, j'ai le droit à cette exception

    Les tables de la base de données se présentent comme suit :
    La première table entete_rapport, qui s'occupe de remplir les entêtes, avec son identifiant (PK) qui est l'abréviation de l'utilisateur courant ayant appelé le rapport, donc une utilisateur a au maximum 1 ligne dans cette table. Etete_rapport est regénéré pour l'utilisateur courant à chaque appel du rapport.
    La deuxième table ligne_rapport, qui ne contient pas de PK mais seulement une FK qui est l'abréviation de l'utilisateur courant et donc la PK de la table entete_rapport.

    La requête SQL se présente comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT e.*,  l.*
    FROM entete_rapport e join ligne_rapport l on e.id_e = l.id_l
    WHERE e.id_e = 'var_venant_de_c#'
    Donc cette requête pour chaque ligne_rapport retourné, retournera aussi une ligne contenant entete_rapport.

    Cette requête est utilisé sur un autre rapport et ne pose aucun problème.
    Savez-vous d'où cela peut venir ?
    Sun Certified Java Programmer, SE 6 et Sun Certified Web Component Developer, J2EE 5

  2. #2
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    Citation Envoyé par LhIaScZkTer Voir le message
    Bonjour à tous,

    j'ai un rapport qui me génère une exception lors de son appel :


    Ce que je ne comprend pas, c'est que si j'exécute la requête sql de mon SqlCommand directement sur Sql Server, celle-ci se passe très bien, ou si cette requête ne retourne qu'un seul résultat. Par contre, dès qu'il y a plusieurs ligne à généré, j'ai le droit à cette exception

    Les tables de la base de données se présentent comme suit :
    La première table entete_rapport, qui s'occupe de remplir les entêtes, avec son identifiant (PK) qui est l'abréviation de l'utilisateur courant ayant appelé le rapport, donc une utilisateur a au maximum 1 ligne dans cette table. Etete_rapport est regénéré pour l'utilisateur courant à chaque appel du rapport.
    La deuxième table ligne_rapport, qui ne contient pas de PK mais seulement une FK qui est l'abréviation de l'utilisateur courant et donc la PK de la table entete_rapport.

    La requête SQL se présente comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT e.*,  l.*
    FROM entete_rapport e join ligne_rapport l on e.id_e = l.id_l
    WHERE e.id_e = 'var_venant_de_c#'
    Donc cette requête pour chaque ligne_rapport retourné, retournera aussi une ligne contenant entete_rapport.

    Cette requête est utilisé sur un autre rapport et ne pose aucun problème.
    Savez-vous d'où cela peut venir ?
    bonjour

    As tu vérifié ceci ?

    certaines colonne possedent des contraintes (Non nul, pas de doublon, clé primaire) et tu essaies d'enregistrer dedans des valeurs qui violent ces contraintes.
    ou encore
    tu cherches à entrer une valeur nulle alors que tu as indiqué que dans ce champ la valeur nulle est interdite.
    Peut être avec ça...
    http://blog.developpez.com/jerome/p5...ons-de-contra/
    tiens nous au courant..

    Luc
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  3. #3
    Membre averti Avatar de LhIaScZkTer
    Inscrit en
    Mai 2004
    Messages
    564
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2004
    Messages : 564
    Points : 301
    Points
    301
    Par défaut
    Salut luc_chivas et merci pour ta réponse

    Alors j'ai vérifier, et les seuls champs ou j'interdis le marqueur NULL sont les clés primaires et étrangères, ce qui est logique, donc à aucun moment ils ne sont vide

    Grâce à tes liens, ou plutôt à celui qui reste après modification du post
    J'ai compris que ne n'était pas très logique de ramener les données de deux table dans une seule DataTable, j'ai donc créé deux DataTable un pour chacune de mes tables. Depuis tout marche à merveille.

    J'en conclu que le fait de répéter la ligne entete_rapport autant de fois qu'il y a de ligne ligne_rapport devait lancer cette exception, car lorsque ligne_rapport n'avait qu'une seule ligne tout marchait à merveille.

    Merci beaucoup pour ton aide et bon weekend
    Sun Certified Java Programmer, SE 6 et Sun Certified Web Component Developer, J2EE 5

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Appeler une variable que si non NULL
    Par GarGamel55 dans le forum Langage
    Réponses: 6
    Dernier message: 08/10/2005, 14h07
  2. [insertion]0 et non NULL pour un champ real
    Par Tchinkatchuk dans le forum PostgreSQL
    Réponses: 10
    Dernier message: 12/07/2005, 18h19
  3. return array vide et non null
    Par mereyj dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/04/2005, 20h25
  4. [VB.Net] DataAdapter, Affichage si non null ???
    Par Sophy dans le forum ASP.NET
    Réponses: 12
    Dernier message: 20/02/2004, 18h03
  5. Ajouter la contrainte NOT NULL a une colone [Firebird 1.5]
    Par crocodingo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/01/2004, 18h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo