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

WinDev Discussion :

Exécution d'un requête SQL et lecture SQLfetch [WD15]


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mars 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : mars 2019
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Exécution d'un requête SQL et lecture SQLfetch
    Bonjour

    Je reprends du code d'un vieux programme alors ne m'en voulez pas, ce n'est pas moi qui ai mis de GOTO (j'ai bien l'intention de les remplacer)
    mon soucis décrit étape par étape:
    - je teste ma connexion SQl via ODBC qui fonctionne bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    cnxfast = SQLConnecte("Mabase","","","","ODBC")
    SI cnxFast = 0 ALORS
    	fEcritLigne(numlog,"ERROR: Connexion ODBC Impossible")	
    	GOTO C_fini
    SINON
    	fEcritLigne(numlog," Connexion ODBC  OK")
    FIN
    - J'exécute une simple requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	SQLChangeConnexion(cnxFast)	
    		req1 = "SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = '"+code_cli+"' "
    		SI PAS SQLExec(req1,nomreq1) ALORS
    			fEcritLigne(numlog,"Warning: Impossible d'exécuter la  requête: " + req1)
    			SQLErreur(nomreq1,req1)
    			GOTO C_fait
    		FIN
     
    		SI SQLFetch(nomreq1) <> 0 ALORS
    			GOTO C_fait
    		FIN
    Si j'exécute ma requête SQL sur un éditeur comme DBeaver, il me retourne bien une ligne de résultat.
    Lorsque je lance mon programme, le SQLExec est bon mais le SQLfetch me retourne toujours 1 alors qu'il devrait retourner 0 pour me dire qu'il a bien trouvé la ligne existante.
    Je ne comprends pas ce qui ne va pas.

    Merci par avance pour votre aide

  2. #2
    Membre habitué
    Homme Profil pro
    Chef de projet
    Inscrit en
    mars 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2017
    Messages : 76
    Points : 143
    Points
    143
    Par défaut
    Uu, voilà un truc que j'ai jamais vu. J'ai jamais utilisé les ordres SQL ainsi.
    C'est quoi la base utilisée par l'ODBC, son nom?
    Ta version de Windev?
    Je pourrais tester de mon côté déjà pour voir si j'obtiens un truc cohérent.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mars 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : mars 2019
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour.

    Ma base est une base MySql version 8.
    version de Windev: 15

    Merci beaucoup

  4. #4
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    mutlitâche-multifonction
    Inscrit en
    juin 2003
    Messages
    3 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : mutlitâche-multifonction
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2003
    Messages : 3 422
    Points : 5 792
    Points
    5 792
    Par défaut
    Question à 2 balles : tu dis que tu as exécuté la requête sur un autre soft, mais tu n'aurais pas un code_cli qui aurait une casse différente/des espaces qui s'inséreraient ?

    Un test à faire est de remplacer ton sqlexec par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MaRequête est uen source de données
    si HExécuteRequêteSQL(MaRequête,cnxFast,hRequêteSansCorrection,SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = '"+code_cli+"') alors
    Hlitpremier(MaRequête)
    info(MaRequete.EDIENSEIGNE)
    HannuleDeclaration(MaRequête)
    FIN
    Attention, c'est du brut de fonderie sans test, ni vérification syntaxique. A vérifier donc !

    Une piste est de passer par un accès natif (je ne sais pas si celui de MySQL existent encore en V15). Par contre, il faudrait revoir tous les accès à la BDD
    Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
    Pas de question par MP s'il vous plait. Le forum est fait pour cela...

    Make it real not fantasy

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mars 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : mars 2019
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci pour la réponse
    Quand j'exécute le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MaRequête est une Source de Données
    		HExécuteRequêteSQL(MaRequête,cnxFastmag,"SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = '"+code_cli+"'")
    		HLitPremier(MaRequête)
    		Info(MaRequête.EDIENSEIGNE)
    		HAnnuleDéclaration(MaRequête)
    J'ai un plantage à l'exécution de la commande HLitPremier

    Erreur à la ligne 402 du traitement Procédure globale LivraisonsFM_new.
    Vous avez appelé la fonction HLitPremier.
    Aucune analyse n'est ouverte et le fichier <MaRequête> n'a pas été décrit.


    J'ai cherché sur l'aide et le web mais je ne vois pas ce qui ne va pas

  6. #6
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    mutlitâche-multifonction
    Inscrit en
    juin 2003
    Messages
    3 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : mutlitâche-multifonction
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2003
    Messages : 3 422
    Points : 5 792
    Points
    5 792
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    si HExécuteRequêteSQL(MaRequête,cnxFast,hRequêteDéfaut,SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = '"+code_cli+"') alors ...
    hRequêteDéfaut à la place de hRequêteSansCorrection

    Sans conviction car comme tu n'as pas d'analyse, je ne sais pas comment ça va réagir.

    Ton code_cli vaut quoi ?
    Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
    Pas de question par MP s'il vous plait. Le forum est fait pour cela...

    Make it real not fantasy

  7. #7
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    décembre 2013
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : décembre 2013
    Messages : 2 680
    Points : 5 872
    Points
    5 872
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MaRequête est une Source de Données
    		HExécuteRequêteSQL(MaRequête,cnxFastmag,"SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = '"+code_cli+"'")
    		HLitPremier(MaRequête)
    		Info(MaRequête.EDIENSEIGNE)
    		HAnnuleDéclaration(MaRequête)
    Ce code là peut marcher, pas de problème.
    Mais si tu es en galère, si tu as besoin de comprendre pourquoi ça bugge, ce code est 'inacceptable'.
    La commande hLitPremier plante parce que le hExecuteRequeteSQL qui est juste avant n'a pas fait son job. Demandons à Windev ce qui a empéché hExecuteRequeteSQL de fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    MaRequête est une Source de Données
    brc est un booleen 
    		brc =HExécuteRequêteSQL(MaRequête,cnxFastmag,"SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = '"+code_cli+"'")
                    si pas brc alors 
                         Erreur ( " plantage ", herreurinfo() )
                         Retour
                    fin 
    		HLitPremier(MaRequête)
    		Info(MaRequête.EDIENSEIGNE)
    		HAnnuleDéclaration(MaRequête)
    Il faut tester le code retour de hExecuteRequeteSQL, la fonction hErreurInfo peut te donner plein d'infos très utiles.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  8. #8
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    mutlitâche-multifonction
    Inscrit en
    juin 2003
    Messages
    3 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : mutlitâche-multifonction
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2003
    Messages : 3 422
    Points : 5 792
    Points
    5 792
    Par défaut
    +1 tbc92.

    Je n'avais pas vu l'absence de test d'exécution du HExécuteRequêteSQL.
    Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
    Pas de question par MP s'il vous plait. Le forum est fait pour cela...

    Make it real not fantasy

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mars 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : mars 2019
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci pour vos retours.
    Je ne sais pas quel est le bon paramétrage pour la commande HExécuteRequêteSQL (j'ai quand même jeté un œil sur l'aide)
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    brc =HExécuteRequêteSQL(hRequêteDéfaut,"SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = 'BT0031'")
    brc =HExécuteRequêteSQL(MaRequête,cnxFastmag,"SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = 'BT0031'")
    brc =HExécuteRequêteSQL(MaRequête,hRequêteDéfaut,"SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = 'BT0031'")
    Dans tous les cas, cela plante (brc=faux). mais on ne connaît pas la raison de ce plantage

    alors que lorsque j'utilisais la commande SQLExec (dont je teste le retour dans mon code, cf premier post), ça fonctionnait mais c'est le fetch qui plantait.
    Je désespère

  10. #10
    Membre éprouvé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    juin 2017
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : juin 2017
    Messages : 701
    Points : 1 152
    Points
    1 152
    Par défaut
    Bonjour,
    Citation Envoyé par cdruais Voir le message
    Dans tous les cas, cela plante (brc=faux). mais on ne connaît pas la raison de ce plantage
    (
    La raison du plantage est indiquée dans le message d'erreur qui s'affiche si brc=faux cf post 7
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    MaRequête est une Source de Données
    brc est un booleen 
    		brc =HExécuteRequêteSQL(MaRequête,cnxFastmag,"SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = '"+code_cli+"'")
                    si pas brc alors 
                         Erreur ( " plantage ", herreurinfo() )
                         Retour
                    fin
    Il y a peut être plus simple, mais ça tourne

  11. #11
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    décembre 2013
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : décembre 2013
    Messages : 2 680
    Points : 5 872
    Points
    5 872
    Par défaut
    hErreurInfo() dit forcément quelque chose.
    Peut-être que le message renvoyé par hErreurInfo n'est pas suffisamment clair, et dans ce cas, donne nous ce message.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mars 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : mars 2019
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Je vous confirme que HErreurInfo() retourne une chaîne vide

    Nom : erreur.jpg
Affichages : 62
Taille : 92,4 Ko

  13. #13
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    décembre 2013
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : décembre 2013
    Messages : 2 680
    Points : 5 872
    Points
    5 872
    Par défaut
    Ici, tu fais Valeur est une chaine = hErreurInfo()Puis ensuite tu fais info( hErreurInfo() )Donc tu lances la fonction hErreurInfo() 2 fois de suite, et tu regardes le résultat du 2ème appel de hErreurInfo().

    Je ne suis pas certain à 100%, mais c'est tout à fait possible que le 1er appel de hErreurInfo() donne quelque chose, alors que le 2ème donne une chaine vide. C'est un comportement pas très intuitif, mais tout à fait cohérent avec toute la gestion des erreurs.

    Modifie ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Valeur est une chaine = hErreurInfo() 
    Warning ( "plantage", valeur )
    Ou bien, dans le debugger, regarde le contenu de ta chaine de caractères 'Valeur'. Tu devrais avoir ta réponse comme ça.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  14. #14
    Membre éprouvé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    juin 2017
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : juin 2017
    Messages : 701
    Points : 1 152
    Points
    1 152
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    c'est tout à fait possible que le 1er appel de hErreurInfo() donne quelque chose, alors que le 2ème donne une chaine vide.
    C'est tout à fait ça. HErreurInfo renvoie les infos concernant la HErreur en cours et se comporte comme HErreur(), bien souvent, le 2° appel annule le 1°.
    Il suffit d'ailleurs de regarder la doc :
    Remarques :
    Cette fonction doit être appelée immédiatement après l'appel de la fonction qui échoue. En effet, l'appel à une fonction (différente d'une fonction d'erreur) peut ré-initialiser et modifier le compte-rendu de la fonction HErreurInfo.
    L'affectation de HErreurInfo renvoie bien, l'erreur, mais l'appel de HErreurInfo dans Erreur fait référence à la dernière erreur sur une opération HF i.e l'appel de HErreurInfo() dans l'affectation. Comme dans ce cas, il n'y a pas de raison qu'il y ait une erreur, HErreurInfo prend la valeur ""
    Il y a peut être plus simple, mais ça tourne

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mars 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : mars 2019
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour à toutes et à tous
    J'ai finalement résolu le problème de manière très étrange.
    Je me suis rendu compte que la requête fonctionnait sans Clause WHERE.
    Ensuite j'ai testé cette même requête avec une clause where X IS NOT NULL: cela fonctionnait ..
    Finalement j'ai retiré les espaces entre ma variable et sa valeur ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN='"+code_cli+"'"
    c'est vraiment bizarre mais ça fonctionne.

  16. #16
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    décembre 2013
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : décembre 2013
    Messages : 2 680
    Points : 5 872
    Points
    5 872
    Par défaut
    Ce n'est pas bizarre, c'est totalement logique.

    Il y a un conseil que je donne souvent sur ce forum.

    Il ne faut pas faire HExécuteRequêteSQL(MaRequête,cnxFastmag,"SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = '"+code_cli+"'"), il faut fajre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sreq est une chaine 
    sreq = "SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = '"+code_cli+"'" 
    HExécuteRequêteSQL(MaRequête,cnxFastmag, sreq )
    Comme ça, entre la ligne 2 et la ligne 3, tu peux insérer plein de trucs qui vont t'aider pendant le debug (il faudra les retirer à la fin...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sreq est une chaine 
    sreq = "SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = '"+code_cli+"'" 
    Verspressepapier(sreq)
    info(sreq)
    HExécuteRequêteSQL(MaRequête,cnxFastmag, sreq )
    Avec le versPressePapier, tu peux récupérer la requête via un CTRL-V, et donc l'exécuter dans un autre environnement. Et tu verras que dans un autre environnement, la requête renvoie 0 lignes.


    SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = ' BT0031 ' ou SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = 'BT0031', ce n'est pas du tout la même chose !
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mars 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : mars 2019
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    ha je suis désolé mais pour ce cas c'était
    SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN = 'BT0031' qui plantait et SELECT CODE,EDIENSEIGNE,TARIFPV FROM MAG WHERE ILN='BT0031' qui fonctionnait, et pour moi c'est la même chose

    Bonne journée

  18. #18
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    mutlitâche-multifonction
    Inscrit en
    juin 2003
    Messages
    3 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : mutlitâche-multifonction
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2003
    Messages : 3 422
    Points : 5 792
    Points
    5 792
    Par défaut
    +1 pour le retour.
    C'est vraiment très bizarre ton histoire. Cela me laisse dubitatif...
    +1 à tbc92 également, pour ses petites astuces débug
    Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
    Pas de question par MP s'il vous plait. Le forum est fait pour cela...

    Make it real not fantasy

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

Discussions similaires

  1. exécution d'une requête SQL dans access
    Par skyarnangel dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/02/2009, 12h18
  2. Exécution d'une requête SQL qui affiche un message
    Par Platon93 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/11/2006, 17h15
  3. Assurer l'exécution d'une requête SQL
    Par condor_01 dans le forum JDBC
    Réponses: 4
    Dernier message: 11/08/2006, 12h23
  4. problème d'exécution d'un requête SQL!
    Par binhjuventus dans le forum C++Builder
    Réponses: 5
    Dernier message: 12/07/2006, 05h21
  5. Erreur d'exécution d'une requête sql
    Par marceline dans le forum Oracle
    Réponses: 2
    Dernier message: 11/07/2006, 14h12

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