begin process at 2012 05 28 14:56:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

bug


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

bug

lundi 23 avril 2007 à 21:06:41 | bug

jmp777

Bonjour à tous,
je suis debutant et je doit corriger une erreur,
l'application bug sur cette petite partie en m'affichant l'erreur qui est dans ce sprintf,quelqu'un pourais t-il m'expliqué ce qui se passe dans ce bout de programme?et m'aider?help

res = table2( num_dossier );
    if ( res ) {
        sprintf( message, "erreur sur %d\n", num_dossier);
        msg( SOURCE, 3, NUM_SEQ++, "W", message );
        EXEC SQL COMMIT WORK RELEASE;
        return (ERREUR);
merci de votre aide.
lundi 23 avril 2007 à 21:11:10 | Re : bug

buno

Administrateur CodeS-SourceS
Ah bah là, comme ça, on ne pas trop t'aider.
D'après le code, la fonction table2 retourne un code non nul. Faudrait voir le code de la fonction...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
mardi 24 avril 2007 à 20:18:29 | Re : bug

vicenzo

Membre Club
Bon, apparament tu fais du proc*c Oracle...

sprintf plante si num_dossier n'est pas un int ou si message n'est pas un char * valide (pointeur nul ,buffer trop petit, ..)...

Poste plus de code...
mardi 24 avril 2007 à 23:16:59 | Re : bug

jmp777

Bonjou à tous
tout d'abord merci;

voici plus de code,help

char  message[120];

 
int
main (int argc, char **argv)

 
{

      shortnum_dossier;

      int         num_demande;     

      int         res;


res = table2( num_dossier );

      if ( res ) {

            sprintf( message, "erreur sur %d\n", num_dossier);

            msg( SOURCE, 3, NUM_SEQ++, "W", message );

            /* EXEC SQL COMMIT WORK RELEASE; */

              return (ERREUR);


Et  pour table2:

short table2( short num_dossier )

{

      EXEC SQL BEGIN DECLARE SECTION;

            shorti5;

            char  table_element[8+1];

            char requete[512];

      EXEC SQL END DECLARE SECTION;

 

 

      i5 = num_dossier;

 

      EXEC SQL

            select p99

            into :table_element

            from table99

            where i99fmo71 =

                  (select e50fmo71

                   from table50

                   where i5 = :i5)

            and i99std99 =

                  (select e50std99

                   from table50

                   where i5 = :i5);

 

      if ( sqlca.sqlcode ) {

            if ( sqlca.sqlcode == 100 ) {

                  EXEC SQL rollback;

                  sprintf( message, "Nom de la table des elements du dossier %d introuvable", num_dossier );

                  msg( SOURCE, 1, NUM_SEQ++, "E", message );

            }

            else {

                  sql_msg(SOURCE,2);

      }

            return( ERREUR );

      }

 

      strcpy(TAB_ELEMENT, table_element);/* Mise a jour de la var globale */

 

 

      sprintf( requete, "delete %s where i41 = %d ", table_element, num_dossier);

 

      EXEC SQL EXECUTE IMMEDIATE :requete;

     

      if ( sqlca.sqlcode && (sqlca.sqlcode != 100)) {

            sql_msg(SOURCE,3);

            return( ERREUR );

      }

 

 

      EXEC SQL

            delete pegt0040

            where i40 = :i5;

 

      if ( sqlca.sqlcode  && (sqlca.sqlcode != 100)) {

            sql_msg(SOURCE,4);

            return( ERREUR );

      }

 

      return(SUCCES);

 

}

mardi 24 avril 2007 à 23:59:39 | Re : bug

vicenzo

Membre Club
  la variable  'num_dossier' n'est pas initialisée
 
mercredi 25 avril 2007 à 22:42:15 | Re : bug

jmp777

bonsoir,
je ne comprend pas trop car j'ai pas large connaissance en prog:
mais ces lignes:
     i5 = num_dossier; et short num_dossier;? ne suffisent pas?
et pourtant dans l'appli,j'ai un nouveau numero de dossier à chaque manipulation .il me renvoi par exemble <erreur sur 35 >. dois je faire un : num_dossier = 0 par exemple?
 et puis une chose me trouble;quand je fait une precompilation de proc oracle mon fichier exe est généré par proc oracle ou visual car en essayant de modifier et de précompiler j'ai aucun fichier exe qui bouge?dois je encor compiler en visualc++ pour enfin avoir un exe?
j'avoue que j'ai du mal.help


Cette discussion est classée dans : erreur, dossier, bug, num, sprintf


Répondre à ce message

Sujets en rapport avec ce message

Bug entre fwrite et OpenPictureDialog [ par larion ] Bonjour,Je developpe sous BorlandC++Builder6.Une parti de mon code sauvegarde des données dans un fichier sur disque avec les fonctions : fopen,fwrite erreur de compilation [ par Battousai ] salut tt le monde !1. pour quoi la ligne suivante est erronée ou plutot n'est pas accepte par le compilateur que j'utilise(turbo borland c++)char * ec erreur à l'ouverture de fichier après un GetOpenFileName! [ par maevasa ] Bonjour,voilà après un GetOpenFileName je n'arrives pas à faire un fopen()j'ai eu beau cherché j'ai pas trouvé l'erreur.Maeva c++ erreur dans le code [ par blastmanu ] rebonjour Vous allez suremment rire mais voila mon compilateur me dit qu'il y a une erreur mais je ne la trouve pas pouvez vous Calculatrice (postfixé) : pb a l'execution [ par filipuce ] Bonjourvoila g fé une petite calculatrice (+,-,*,/ avec parentheses)sous linux pas de probleme, compilation et execution.mais en retouranant sous wind Erreur d'ouverture du même fichier plusieurs fois de suite [ par TheRedman ] Je développe mon programme sous linux et cette fonction me pose problème. En fait, j'ai dans un répertoire "utilisateurs" des fichiers dont la structu Pb de connexion à une BDD Acces 2003 [ par le boulet ] La vie c'est fait à base d'amitiésalut j'ai un petit soucis pour me connecter à ma base de données Acces 2003 sous VC++ et avec ADO.Je balance mon cod erreur sur Visual C++ [ par Lorelei42 ] Bonjour, J'ai créé sur Visual C++ une DLL. J'essaie de la lier avec un exécutable. Lorsque je construis l'exécutable une erreur apparaît : LIBCD.lib(w l'adresse du dossier temporaire de l'utilisateur ? [ par maevasa ] Est ce qu'il y a moyen de connaître le chemin du dossier temp de l'utilisateur dans documents and settings...quand on ne connait pas l'utilisateur???? Grave pb Raw socket [ par valoue ] Bonjour,J'essaie d'utiliser les Raw Socket afin de voir tout ce qui passe sur le reseau, ne garder que ce qui me concerne, et calculer le nbre de tram


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales