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

Bases de données Delphi Discussion :

erreur dans un programme


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Points : 10
    Points
    10
    Par défaut erreur dans un programme
    Bonjour,
    j'ai une erreur dans le programme suivant :

    il a pour but de rajouter des mot dans une table a partir d'un fichier

    COMMIT WORK;
    SET AUTODDL OFF;
    SET TERM ^ ;

    /* Stored procedures */


    ALTER PROCEDURE AJOUT_MOT
    (
    MOTS VARCHAR(50),
    MOTMOD VARCHAR(50),
    FICHIER Varchar(200)
    )
    AS
    declare variable nb integer;
    declare variable nb2 integer;
    declare variable id1 integer;
    declare variable id_fichier integer;
    declare variable id_mot integer;
    declare variable ok varchar(1);

    BEGIN
    select count(*) from fichier where (nom_fichier = :fichier) into nb;
    if (nb=1)
    begin
    select traiter from fichier where traiter = : 'T' into ok;
    if ok <> 'T' then begin
    select ID from fichier where nom_fichier = :fichier into id_fichier;
    select count(*) from dictionnaire where mot = :mots into nb2;
    if (nb2=0) then begin
    id1=gen_id(gen_dictionnaire,1);
    insert into dictionnaire(mot,mot_s,id,fichier) values(:mots, :motmod , :id1);
    insert into mot_fichier(id_mot,id_fichier) values (:id1, :id_fichier); end
    else
    begin
    select ID from dictionnaire where mot = :mots into id_mot; insert into mot_fichier(id_mot,id_fichier) values (:id_mot, :id_fichier);
    end;

    end;
    end;
    END
    ^

    SET TERM ; ^
    COMMIT WORK;

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Ca aurait été mieux que tu postes dans le forum correspondant à ton SGBD, car ca n'a rien à voir avec delphi.
    Sinon je pense que l'erreur est ce que j'ai mis en rouge dans ton code.
    : 'T' , c'est un paramètre ou une constante ? ou un mix des deux peut être ?

    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
    COMMIT WORK;
    SET AUTODDL OFF;
    SET TERM ^ ;
    
    /* Stored procedures */
    
    
    ALTER PROCEDURE AJOUT_MOT
    (
    MOTS VARCHAR(50),
    MOTMOD VARCHAR(50),
    FICHIER Varchar(200)
    )
    AS
    declare variable nb integer;
    declare variable nb2 integer;
    declare variable id1 integer;
    declare variable id_fichier integer;
    declare variable id_mot integer;
    declare variable ok varchar(1);
    
    BEGIN
    select count(*) from fichier where (nom_fichier = :fichier) into nb;
    if (nb=1)
    begin
    select traiter from fichier where traiter = : 'T' into ok;
    if ok <> 'T' then begin
    select ID from fichier where nom_fichier = :fichier into id_fichier;
    select count(*) from dictionnaire where mot = :mots into nb2;
    if (nb2=0) then begin
    id1=gen_id(gen_dictionnaire,1);
    insert into dictionnaire(mot,mot_s,id,fichier) values(:mots, :motmod , :id1);
    insert into mot_fichier(id_mot,id_fichier) values (:id1, :id_fichier); end
    else
    begin
    select ID from dictionnaire where mot = :mots into id_mot; insert into mot_fichier(id_mot,id_fichier) values (:id_mot, :id_fichier);
    end;
    
    end;
    end;
    END
    ^
    
    SET TERM ; ^
    COMMIT WORK;
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    c bon merci il y avé ca et d'autre comme le end;

Discussions similaires

  1. Afficher un message d'erreur dans un programme !
    Par hadid dans le forum Delphi
    Réponses: 14
    Dernier message: 30/10/2006, 17h32
  2. Exo, erreur dans le programme - AIDE
    Par GENgis_- dans le forum C++
    Réponses: 6
    Dernier message: 28/10/2006, 14h11
  3. [Help] Erreurs dans mon programme
    Par Tacha dans le forum Langage
    Réponses: 13
    Dernier message: 02/10/2006, 13h57
  4. Erreur dans un programme php pour une connexion à une bdd
    Par gaetan.tranvouez dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/06/2006, 21h06
  5. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

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