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 :

Projet ParcAutomobiles des soucis


Sujet :

MS SQL Server

  1. #1
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut Projet ParcAutomobiles des soucis
    Salut! Je dois faire un projet nomme ParcAutomobiles donc ParcAutomobiles constitue ma base des donees.

    J'ai pense a une structure complexe qui contient 4 tables on m'a decrit dans des mots le probleme et j'essaie d'implementer et inserer des lignes dans ces 4 tables.

    Le probleme c'est dans le tableau 4 (les champs Depart datetime et
    Arrive datetime je veux inserer la date et aussi le temps heure:minutes:secondes j'espere que je fais correctement la valeur dans l'insert into du tableau 4).


    Voila le projet complet de creer la base des donnees et les 4 tableaux qui contient les champs. J'ai donne des details sur les notations utilises dans mes tableau mais mon premier souci c'est comment resoudre les erreurs apparues en executant ma requete complete (pour creer les 4 tableaux et inserer dans chacun les enregistrements qui sont bien-sur fictives).

    Voila le code complet:

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
     
    -- creation base des donnees nomme ParcAutomobiles qui a 4 tables
     
    CREATE DATABASE ParcAutomobiles
     
    --le champ NombreVoiture doit etre UNIQUE
     
    -- creation premier tableau nomme PatrimoineVoitures
    -- on a 6 champs
     
    CREATE TABLE PatrimoineVoitures
    (
    IdVoiture int PRIMARY KEY NOT NULL IDENTITY(1,1),
    NombreVoiture varchar(255) UNIQUE,
    CapaciteMoteur int,
    CapaciteTransport int,
    DateEnregistrement datetime,
    PersonneQuiUtiliseVoiture varchar(255)
    )
     
    -- IdVoiture c'est la cle primaire qui identifie le tableau PatrimoineVoitures
     
    -- creation tableau 2 nomme TypesAutomobiles
     
    -- TypeAutomobile peut etre comme ligne 4x4, voiture,camion,
    -- camion-citerne, auto-d'utilite etc.
     
    -- on a 3 champs
     
    CREATE TABLE TypesAutomobiles
    (IdType int PRIMARY KEY NOT NULL,
    IdVoiture int,
    TypeAutomobile varchar(255)
    )
     
    -- IdType c'est la cle primaire, IdVoiture c'est la cle externe
     
    -- creation tableau 3 nomme TypeCombustible (pour alimenter la voiture on doit alimenter avec 
    -- Essence,Diesel ou GPL(Gas Petrolier Liquefie) - enregistrements pour le champ TypeCombustible
     
    -- on a 3 champs
     
    CREATE TABLE TypesCombustibles
    (IdCombustible int PRIMARY KEY NOT NULL,
    IdVoiture int,
    TypeCombustible varchar(255)
    )
     
    -- idcombustible c'est la cle primaire, idvoiture c'est la cle externe
     
     
    -- Tableau 4 c'est le tableau qui represente la feuille du parcours pour la voiture
    -- il doit avoir les champs: idfeuilleparcours,nombrevoiture=idvoiture,date et heure du depart, date et heure d'arrive
    --nom_conducteur_auto,LocaliteDepart,Destination,KM,combustibleconsomme,motifdeplacement,marchandisetransporte,
    -- DateEnregistrement donc on doit avoir aussi IdVoiture qui est la cle externe pour lier tableau1 au tableau 4
     
    -- on a 12 champs dans tableau 4 nomme FeuilleParcoursVoiture
     
    CREATE TABLE FeuilleParcoursVoiture
    (IdFeuille int PRIMARY KEY NOT NULL,
    IdVoiture int,
    Depart datetime,
    Arrive datetime,
    NomConducteur varchar(255),
    LocaliteDepart varchar(255),
    LocaliteArrive varchar(255),
    KM int,
    CombustibleConsomme int,
    MotifDeplacement varchar(255),
    MarchandiseTransporte varchar(255),
    DateEnregistrement datetime
    )
     
    -- maintenant on va inserer 6 enregistrements dans chaque table (INSERT INTO)
     
    -- inserer 6 enregistrements dans tableau 1
     
    INSERT INTO PatrimoineVoitures(NombreVoiture,CapaciteMoteur,CapaciteTransport,DateEnregistrement,PersonneQuiUtiliseVoiture)
    VALUES ('PH-20-RTS',300, 5000, '09/03/09', 'Michel Sardou');
    VALUES ('B-03-STR',400, 5200, '12/30/07', 'Johann Gourcouff');
    VALUES ('IS-02-SPR',400, 7200, '10/10/08', 'Mireille Mathieu');
    VALUES ('CJ-02-MIH',200, 9100, '11/20/90', 'Mireille Labelle');
    VALUES ('CT-06-ION',230, 5100, '06/24/85', 'Mathieu Lafont');
    VALUES ('GL-05-TIZ',250, 6200, '07/24/99', 'Joel Abati');
     
    -- inserer 6 enregistrements dans tableau 2
     
    INSERT INTO TypesAutomobiles(IdType,IdVoiture,TypeAutomobile)
    VALUES(1,1,'voiture');
    VALUES(2,2,'camion-citerne');
    VALUES(3,3,'camion');
    VALUES(4,4,'auto utilitaire');
    VALUES(5,5,'4x4')
    VALUES(6,6,'voiture')
     
    -- inserer 6 enregistrements dans tableau 3
     
    INSERT INTO TypesCombustibles(IdCombustible,IdVoiture,TypeCombustible)
    VALUES(1,1,'essence');
    VALUES(2,2,'diesel');
    VALUES(3,3,'diesel');
    VALUES(4,4,'GPL');
    VALUES(5,5,'essence');
    VALUES(6,6,'GPL')
     
     
    INSERT INTO FeuilleParcoursVoiture(IdFeuille,IdVoiture,Depart,Arrive,NomConducteur,LocaliteDepart,LocaliteArrive,KM,CombustibleConsomme,MotifDeplacement,MarchandiseTransporte,DateEnregistrement)
    VALUES(1,1,'02/12/07 17:32:35','02/12/07 18:51:42','Michel Sardou','Metz','Paris',120,20,'transporter marchandise','pommes','02/12/07 17');
    VALUES(2,2,'11/21/07 19:32:01','11/21/07 20:43:32','Johann Gourcouff','Rouen','Paris',100,17,'transporter marchandise','pommes de terre','11/21/07');
    VALUES(3,3,'07/15/08 19:57:02','07/15/08 21:49:41','Mireille Mathieu','Paris','Montpeliier',140,31,'transporter marchandise','abricots','07/15/08');
    VALUES(4,4,'05/26/08 19:49:03','05/26/08 21:32:10','Mireille Labelle','Rouen','Montpeliier',59,12,'transporter marchandise','cerises','05/26/08');
    VALUES(5,5,'06/24/09 20:29:49','06/24/09 21:39:29','Mathieu Lafont','Montpellier','Paris',140,31,'transporter marchandise','poires','06/24/09');
    VALUES(6,6,'08/04/09 20:32:46','08/04/09 22:15:29','Mathieu Lafont','Bordeaux','Paris',90,25,'transporter marchandise','coings','08/04/09');
     
    -- inserer 6 enregistrements dans tableau 4
     
     
    -- visualisation du contenu de 4 tables avec les colonnes et lignes
     
    SELECT * FROM PatrimoineVoitures
     
    SELECT * FROM TypesAutomobiles
     
    SELECT * FROM TypesCombustibles
     
    SELECT * FROM FeuilleParcoursVoiture
    Et voici les erreurs que SQL Server me donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Msg 156, Level 15, State 1, Line 79
    Incorrect syntax near the keyword 'VALUES'.
    Msg 156, Level 15, State 1, Line 89
    Incorrect syntax near the keyword 'VALUES'.
    Msg 156, Level 15, State 1, Line 99
    Incorrect syntax near the keyword 'VALUES'.
    Msg 156, Level 15, State 1, Line 108
    Incorrect syntax near the keyword 'VALUES'.
    Donc mon premier souci c'est comment resoudre les erreurs que SQL Server me donne.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 28
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    essaye ça:

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    -- inserer 6 enregistrements dans tableau 1
     
    INSERT INTO PatrimoineVoitures(NombreVoiture,CapaciteMoteur,CapaciteTransport,DateEnregistrement,PersonneQuiUtiliseVoiture)
    VALUES ('PH-20-RTS',300, 5000, '09/03/09', 'Michel Sardou');
    INSERT INTO PatrimoineVoitures(NombreVoiture,CapaciteMoteur,CapaciteTransport,DateEnregistrement,PersonneQuiUtiliseVoiture)
    VALUES ('B-03-STR',400, 5200, '12/30/07', 'Johann Gourcouff');
    INSERT INTO PatrimoineVoitures(NombreVoiture,CapaciteMoteur,CapaciteTransport,DateEnregistrement,PersonneQuiUtiliseVoiture)
    VALUES ('IS-02-SPR',400, 7200, '10/10/08', 'Mireille Mathieu');
    INSERT INTO PatrimoineVoitures(NombreVoiture,CapaciteMoteur,CapaciteTransport,DateEnregistrement,PersonneQuiUtiliseVoiture)
    VALUES ('CJ-02-MIH',200, 9100, '11/20/90', 'Mireille Labelle');
    INSERT INTO PatrimoineVoitures(NombreVoiture,CapaciteMoteur,CapaciteTransport,DateEnregistrement,PersonneQuiUtiliseVoiture)
    VALUES ('CT-06-ION',230, 5100, '06/24/85', 'Mathieu Lafont');
    INSERT INTO PatrimoineVoitures(NombreVoiture,CapaciteMoteur,CapaciteTransport,DateEnregistrement,PersonneQuiUtiliseVoiture)
    VALUES ('GL-05-TIZ',250, 6200, '07/24/99', 'Joel Abati');
     
    -- inserer 6 enregistrements dans tableau 2
     
    INSERT INTO TypesAutomobiles(IdType,IdVoiture,TypeAutomobile)
    VALUES(1,1,'voiture');
    INSERT INTO TypesAutomobiles(IdType,IdVoiture,TypeAutomobile)
    VALUES(2,2,'camion-citerne');
    INSERT INTO TypesAutomobiles(IdType,IdVoiture,TypeAutomobile)
    VALUES(3,3,'camion');
    INSERT INTO TypesAutomobiles(IdType,IdVoiture,TypeAutomobile)
    VALUES(4,4,'auto utilitaire');
    INSERT INTO TypesAutomobiles(IdType,IdVoiture,TypeAutomobile)
    VALUES(5,5,'4x4');
    INSERT INTO TypesAutomobiles(IdType,IdVoiture,TypeAutomobile)
    VALUES(6,6,'voiture');
     
    -- inserer 6 enregistrements dans tableau 3
     
    INSERT INTO TypesCombustibles(IdCombustible,IdVoiture,TypeCombustible)
    VALUES(1,1,'essence');
    INSERT INTO TypesCombustibles(IdCombustible,IdVoiture,TypeCombustible)
    VALUES(2,2,'diesel');
    INSERT INTO TypesCombustibles(IdCombustible,IdVoiture,TypeCombustible)
    VALUES(3,3,'diesel');
    INSERT INTO TypesCombustibles(IdCombustible,IdVoiture,TypeCombustible)
    VALUES(4,4,'GPL');
    INSERT INTO TypesCombustibles(IdCombustible,IdVoiture,TypeCombustible)
    VALUES(5,5,'essence');
    INSERT INTO TypesCombustibles(IdCombustible,IdVoiture,TypeCombustible)
    VALUES(6,6,'GPL');
     
     
    INSERT INTO FeuilleParcoursVoiture(IdFeuille,IdVoiture,Depart,Arrive,NomConducteur,LocaliteDepart,LocaliteArrive,KM,CombustibleConsomme,MotifDeplacement,MarchandiseTransporte,DateEnregistrement)
    VALUES(1,1,'02/12/07 17:32:35','02/12/07 18:51:42','Michel Sardou','Metz','Paris',120,20,'transporter marchandise','pommes','02/12/07 17');
    INSERT INTO FeuilleParcoursVoiture(IdFeuille,IdVoiture,Depart,Arrive,NomConducteur,LocaliteDepart,LocaliteArrive,KM,CombustibleConsomme,MotifDeplacement,MarchandiseTransporte,DateEnregistrement)
    VALUES(2,2,'11/21/07 19:32:01','11/21/07 20:43:32','Johann Gourcouff','Rouen','Paris',100,17,'transporter marchandise','pommes de terre','11/21/07');
    INSERT INTO FeuilleParcoursVoiture(IdFeuille,IdVoiture,Depart,Arrive,NomConducteur,LocaliteDepart,LocaliteArrive,KM,CombustibleConsomme,MotifDeplacement,MarchandiseTransporte,DateEnregistrement)
    VALUES(3,3,'07/15/08 19:57:02','07/15/08 21:49:41','Mireille Mathieu','Paris','Montpeliier',140,31,'transporter marchandise','abricots','07/15/08');
    INSERT INTO FeuilleParcoursVoiture(IdFeuille,IdVoiture,Depart,Arrive,NomConducteur,LocaliteDepart,LocaliteArrive,KM,CombustibleConsomme,MotifDeplacement,MarchandiseTransporte,DateEnregistrement)
    VALUES(4,4,'05/26/08 19:49:03','05/26/08 21:32:10','Mireille Labelle','Rouen','Montpeliier',59,12,'transporter marchandise','cerises','05/26/08');
    INSERT INTO FeuilleParcoursVoiture(IdFeuille,IdVoiture,Depart,Arrive,NomConducteur,LocaliteDepart,LocaliteArrive,KM,CombustibleConsomme,MotifDeplacement,MarchandiseTransporte,DateEnregistrement)
    VALUES(5,5,'06/24/09 20:29:49','06/24/09 21:39:29','Mathieu Lafont','Montpellier','Paris',140,31,'transporter marchandise','poires','06/24/09');
    INSERT INTO FeuilleParcoursVoiture(IdFeuille,IdVoiture,Depart,Arrive,NomConducteur,LocaliteDepart,LocaliteArrive,KM,CombustibleConsomme,MotifDeplacement,MarchandiseTransporte,DateEnregistrement)
    VALUES(6,6,'08/04/09 20:32:46','08/04/09 22:15:29','Mathieu Lafont','Bordeaux','Paris',90,25,'transporter marchandise','coings','08/04/09');
     
    -- inserer 6 enregistrements dans tableau 4
    Je ne suis pas sûr, mais je crois que ton erreur venait du fait que tu mettais un séparateur d'instruction après chaque VALUES.

    Ma suggestion n'est pas la plus optimale, mais elle devrait fonctionner...

  3. #3
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut
    Pas des problemes qu'elle n'est pas la plus optimale solution j'ai modifie dans tout mon projet et ca marche niquel!

    Merci beacoup pour ton aide!



    Observation: On va creer une procedure stoque avec les parametres requis (nombrevoiture=idvoiture,Periode(donc je crois que c'est les champs Depart et Arrive du tableau 4),Depart,Destination(je crois que c'est les champs LocalitateDepart et LocaliteArrive du tableau4 nomme FeuilleParcoursVoiture).


    Dans le code attache dans les balises je dois creer une procedure stoque avec les suivant parametres (nombrevoiture,periode,depart,destination).

    J'ai essaye ca: (je crois que c'est une procedure stoque avec 5 parametres: IdVoiture,Depart,Arrive(comme temps),LocaliteDepart,LocaliteArrive(comme localites donc comme destinations :destination depart et arrive c'est ca que je comprends de la consigne) don en utilisant le tableau 4 nomme FeuilleParcoursVoiture. J'espere que j'ai bien compris la consigne.

    Mon souci est comment implementer cette procedure stoque en sql server.



    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
     
    CREATE PROC Informations -- creation procedure stoque
    -- nomme Informations
     
    -- definir les 5 parametres
     
    @IdVoiture int,
    @Depart datetime,
    @Arrive datetime,
    @LocaliteDepart varchar(255),
    @LocaliteArrive varchar(255)
    AS
    -- requete pour afficher le parcours d'une voiture sur les criteres --nombrevoiture,periode(depart,arrive comme temps),depart,destination(localitedepart,localitearrive comme champs)
     
    -- j'espere que j'ai bien compris la consigne
     
    SELECT IdVoiture,Depart,Arrive,LocaliteDepart,LocaliteArrive
    FROM FeuilleParcoursVoiture
     
    WHERE IdVoiture = 3 AND Depart = '07/15/08 19:57:02' AND Arrive = '07/15/08 21:49:41' AND LocaliteDepart= 'Paris' AND LocaliteArrive ='Montpeliier'
    -- apres la requete on va executer la procedure stoque avec le nom Informations
    EXEC Informations 3,'07/15/08 19:57:02','07/15/08 21:49:41','Paris','Montpeliier'
    La procedure stoque est bien en fait mais je veux savoir si j'ai bien compris la consigne de la procedure stoque. Avec mes notations au tableau 4 j'ai 5 parametres qui vont afficher l'id de la voiture, la date et heure du depart, la date et heure d'arrive, la localite du depart et la localite d'arrive.

    Ou on veut cette requete dans la consigne au dessus du premier code:

    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
     
    CREATE PROC Informations -- creation procedure stoque
    -- nomme Informations
     
    -- definir les 5 parametres
     
    @IdVoiture int,
    @Depart datetime,
    @Arrive datetime,
    @LocaliteDepart varchar(255),
    @LocaliteArrive varchar(255)
    AS
    -- requete pour afficher le parcours d'une voiture sur les criteres --nombrevoiture,periode(depart,arrive comme temps),depart,destination(localitedepart,localitearrive comme champs)
     
    -- j'espere que j'ai bien compris la consigne
     
    SELECT IdVoiture,Depart,Arrive,LocaliteDepart,LocaliteArrive
    FROM FeuilleParcoursVoiture
    WHERE IdVoiture = @IdVoiture AND Depart = @Depart AND Arrive = @Arrive AND LocaliteDepart = @LocaliteDepart AND LocaliteArive = @LocaliteArrive
    EXEC Informations 3,'07/15/08 19:57:02','07/15/08 21:49:41','Paris','Montpeliier'
    J'ai resolu en fait ! Merci en tous cas!

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

Discussions similaires

  1. mon projet a des erreurs please help :)
    Par babemagus dans le forum MFC
    Réponses: 5
    Dernier message: 15/06/2005, 13h40
  2. J'ai des soucis avec Delphi8 ShellExecute...
    Par manu00 dans le forum Delphi .NET
    Réponses: 6
    Dernier message: 25/07/2004, 08h38

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