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

MS SQL Server Discussion :

problème d'insertion de données dans table


Sujet :

MS SQL Server

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut problème d'insertion de données dans table
    Bonjour,

    voila ma table INTERVENTION est composé : IN_NUMINTER, C_NUMCLT, IN_M_NUMCLT, IN_ID_MAT, IN_RESINTER, IN_DEPOMAT, IN_RECEP_MAT, IN_PRICHARG.

    Je souhaite la remplir mais j'ai un problème lorsque j'effectue cela.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO INTERVENTION(IN_NUMINTER, IN_IDMAT, IN_RESINTER, IN_DEPOMAT, IN_RECEPMAT, IN_PRICHARG) VALUES('31/01/2008 - 001', '1', 'hb,hj','zf', 'ljg', '31/01/2008')
    INSERT INTO INTERVENTION(C_NUMCLT) SELECT INTERVENTION.C_NUMCLT FROM INTERVENTION, CLIENT WHERE INTERVENTION.C_NUMCLT=CLIENT.C_NUMCLT AND C_NOMCLT='gf';
    Les erreurs qu'il m'affiche sont les suivantes :
    Serveur*: Msg 515, Niveau 16, État 2, Ligne 1
    Impossible d'insérer la valeur NULL dans la colonne 'C_NUMCLT', table 'DistribInfo.dbo.INTERVENTION'. Cette colonne n'accepte pas les valeurs NULL. INSERT a échoué.
    L'instruction a été arrêtée.
    Serveur*: Msg 515, Niveau 16, État 2, Ligne 2
    Impossible d'insérer la valeur NULL dans la colonne 'IN_IDMAT', table 'DistribInfo.dbo.INTERVENTION'. Cette colonne n'accepte pas les valeurs NULL. INSERT a échoué.
    L'instruction a été arrêtée.
    merci d'avance!!

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 142
    Points : 185
    Points
    185
    Par défaut
    Et bien cela signifie tout simplement que les colonnes C_NUMCLT & IN_IDMAT ont été définies en NOT NULL lors de la création de la table (la valeur NULL est donc interdite pour ces colonnes).

    Dans ta 1ère requête, tu ne valorises pas le champs C_NUMCLT qui est donc mis à NULL par défaut, ce qui est interdit. Voila qui explique le 1er message d'erreur.
    Dans ta 2nde insertion, c'est IN_IDMAT que tu ne valorises pas, d'où le message.

    Pour éviter ça, tu dois modifier la structure de ta table pour autoriser la valeur NULL pour ces 2 champs, ou bien leur attribuer une valeur par défaut autre que NULL.
    "Le problème du monde, c'est que les imbéciles sont présomptueux et les gens intelligents bourrés de doutes" B. Russell

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    Bonsoir,

    Si tes champs C_NUMCLT et IN_IDMAT de la table INTERVENTION sont définis comme n'acceptant pas les valeurs NULL, il est normale que tes insertions génèrent des erreurs SQL.

    Je te conseille donc de vérifier la structure de ta table afin de pouvoir effectué des requêtes d'insertion cohérentes.
    Bon courage pour la suite.

  4. #4
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Madinico et à Lawyer666
    Je suis d'accord avec vous pour les message d'erreur. Mais le problème c'est que C_NUMCLT et IN_IDMAT sont des clés primaires d'autre table donc elle sont forcément null.

    Puis IN_IDMAT se rempli dans un programme effectué sous Visual Studio.NET en C# (dans la requête je l'insert la valeur de IN_IDMAT).
    Par contre le C_NUMCLT que je veux insérer dans ma table doit faire référence au C_NOMCLT que j'utilise dans mon programme. (ceci est effectué par la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO INTERVENTION(C_NUMCLT) SELECT CLIENT.C_NUMCLT FROM INTERVENTION, CLIENT WHERE INTERVENTION.C_NUMCLT=CLIENT.C_NUMCLT AND C_NOMCLT='gf';
    comment je peux faire??

    merci d'avance!!

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    C'est bon j'ai trouvé une autre méthode c'est d'intégrer le NumClt dans le programme mais en non visible et de reprendre sa valeur.

    par contre dans mon programme la date se met de forme "31 Janvier 2008" alors que dans SqlServer il me la faudrait en "31/01/2008".
    Comment je peux faire d'après vous??

    merci d'avance

  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    J'ai réussit, c'étais tout bête, ya juste fallut que j'aille change rle format dans mon application.

    merci beaucoup a ceux qui m'on aidé.

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

Discussions similaires

  1. Problème d'insertion de données dans ma table
    Par flilou dans le forum Zend_Db
    Réponses: 10
    Dernier message: 05/10/2011, 17h23
  2. [MySQL] problème d'insertion de données dans 3 tables
    Par goldray dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/04/2011, 20h07
  3. [Oracle] problème d'insertion de données dans une table sous oracle
    Par Zombiman dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/05/2009, 14h58
  4. [MySQL] Problème insertion de données dans table Mysql
    Par Malcolm78 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/10/2007, 17h25
  5. [MySQL] Problème d'insertion de données dans table d'associations
    Par Yukhaa dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 07/02/2006, 17h10

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