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

WinDev Discussion :

Probleme de requete SQL


Sujet :

WinDev

  1. #1
    Futur Membre du Club Avatar de titanium23
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Août 2016
    Messages : 39
    Points : 7
    Points
    7
    Par défaut Probleme de requete SQL
    Bonjour une petite aide svp,je voudrai faire une recherche dans mon BDD ORACLE.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	sMareq="SELECT * FROM SYSTEM.ACTIVITE  WHERE code_activite='"+SAI_Saisie1+"'"
    SI (HLitPremier(sMareq)=Vrai) ALORS
    		SQLExec(sMareq,"REQ1")
     
    		SAI_Saisie2 = SQLLitCol("REQ1", 1)
    		SAI_Saisie3 = SQLLitCol("REQ1", 2)
     
     
     
    SINON
    	Info("oups!!!!")
     
    FIN
    voici l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Vous avez appelé la fonction HLitPremier.
    Fichier <SELECT * FROM SYSTEM.ACTIVITE  WHERE code_activite='0'> inconnu dans l'analyse <C:\Mes Sites\ProjetFinale\BDD.wdd>, ou requête ou vue non initialisée.
    Si il s'agit d'une requête, l'exécution de cette requête a peut-être échoué.
    SVP pouver vous me corriger

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Je pense que tu devrais revoir dans l'aide en ligne le fonctionnement des requêtes, car ici tu mélanges les ordres h* et SQL*.

    En plus ton code n'est pas logique, car tu commences par lire la requête avec hLit() (qui est de plus mal utilisé ici...) AVANT de lancer la requête avec SqlExec().

    Tatayo.

  3. #3
    Futur Membre du Club Avatar de titanium23
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Août 2016
    Messages : 39
    Points : 7
    Points
    7
    Par défaut
    C’est vraiment le bordel à cause des aides en ligne car j'ai réuni plusieurs syntaxes. Je n'ai jamais utilisé une bdd externe et d'introduire une requête SQL sur windev. C'est cette erreur que je ne comprends pas
    Vous avez appelé la fonction HLitPremier.
    Fichier <SELECT * FROM SYSTEM.ACTIVITE WHERE code_activite='0'> inconnu dans l'analyse <C:\Mes Sites\ProjetFinale\BDD.wdd>, ou requête ou vue non initialisée.
    Si il s'agit d'une requête, l'exécution de cette requête a peut-être échoué.

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Bonjour,

    Sacré raccourci que vous prenez ! Pour faire simple : votre chaîne qui contient une requête SQL n'est pas une variable de type recordSet...

    Aussi il convient de faire une petite recherche style : "comment exécuter une requête au format chaîne sur Windev".
    Vous aurez de la chance, car le premier résultat sur google est le bon... allez... let le google that for you....

    Bonne journée !
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Regarde bien l'aide en ligne de hLitPremier().
    Cette fonction ne prend pas en paramètre le texte d'une requête, mais un fichier de l'analyse ou une requête WinDev lancée par exemple avec hExecuteRequeteSql.

    D'ailleurs si tu prends l'aide de SqlExec(), il y a un exemple de code. Et tu verras dans cet exemple qu'il n'y a AUCUNE fonction h*.

    Bref il faut choisir ton camp (si j'ose dire):
    • Soit les ordres h*
    • Soit les ordres Sql*

    Mais pas un mélange des deux !

    Tatayo.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 552
    Points : 1 193
    Points
    1 193
    Par défaut
    Citation Envoyé par tatayo Voir le message
    ...car ici tu mélanges les ordres h* et SQL*.
    Comme le précise tatayo, il y a une certaine logique dans le WLanguage.

    une fonction WLanguage commençant par h* signifie que l'on travaille sur des table HF (classic ou serveur) ou alors via l'accès natif sur un sgbd tiers.
    une fonction WLanguage commençant par SQL* signifie que l'on travaille avec une connexion externe (donc chargement de la connexion via OLEDB ou ODBC)

    or dans votre code sans regarder la logique de l'algorithme, vous mélangez les 2 syntaxes...
    Ensuite si c'est les ordre SQL qui vous intéresse, il faut savoir comment avec vous connecter votre sgbd à l'application que vous developpez... se penchez sur les SQLConnecte() ou HOuvreConnexion()...

    Cordialement.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Les fonctions commençant par h* font appel à une analyse, avez-vous une analyse dans votre projet? Si ce n'est pas le cas, oubliez les et regardez exclusivement les fonctions commençant par SQL*

  8. #8
    Futur Membre du Club Avatar de titanium23
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Août 2016
    Messages : 39
    Points : 7
    Points
    7
    Par défaut
    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
     
    sMareq est une chaîne
    NumConnexion est un entier
    sdSource est une Source de Données
    //Exemple de connexion via ORACLE
     
    sdSource = "BDD "
    NumConnexion = SQLConnecte(sdSource, " SYSTEM", " SYS", "SYSTEM.ACTIVITE", "ORACLE")
    SI NumConnexion<>0 ALORS
     
    sMareq=SQLExec("SELECT * FROM SYSTEM.ACTIVITE  WHERE 'code_activite="+SAI_Saisie1+" ","REQ1")
    SI sMareq =Vrai ALORS
    	SQLPremier("REQ1 ")
    	SAI_Saisie2 = SQLCol("REQ1", 2)	
    SINON
    ......
    FIN
     
    SINON
    	// La connexion a échoué : affichage d'un message explicatif
    	SQLInfoGene()
    	Erreur("La connexion à la source de données" + sdSource + ...
    	"a échoué."+RC+...
    	"Code erreur : " + SQL.Erreur +RC+...
    	SQL.MesErreur)
    FIN
    // Dans tous les cas (connexion OK ou pas)
    SQLDéconnecte()
    Merci de votre conseil,mais maintenant il n'affiche rien

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par titanium23 Voir le message
    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
     
    sMareq est une chaîne
    NumConnexion est un entier
    sdSource est une Source de Données
    //Exemple de connexion via ORACLE
     
    sdSource = "BDD "
    NumConnexion = SQLConnecte(sdSource, " SYSTEM", " SYS", "SYSTEM.ACTIVITE", "ORACLE")
    SI NumConnexion<>0 ALORS
     
    sMareq=SQLExec("SELECT * FROM SYSTEM.ACTIVITE  WHERE 'code_activite="+SAI_Saisie1+" ","REQ1")
    SI sMareq =Vrai ALORS
    	SQLPremier("REQ1 ")
    	SAI_Saisie2 = SQLCol("REQ1", 2)	
    SINON
    ......
    FIN
     
    SINON
    	// La connexion a échoué : affichage d'un message explicatif
    	SQLInfoGene()
    	Erreur("La connexion à la source de données" + sdSource + ...
    	"a échoué."+RC+...
    	"Code erreur : " + SQL.Erreur +RC+...
    	SQL.MesErreur)
    FIN
    // Dans tous les cas (connexion OK ou pas)
    SQLDéconnecte()
    Merci de votre conseil,mais maintenant il n'affiche rien
    Le code qui a été mis une fois la connexion établie au SGBD n'est pas judicieux, mais avant tout, il faut voir comment établir la connexion avec votre SGBD.
    N'ayant pas votre base, je ne pourrais pas tester les identifiants, le fait de voir des espaces dans le nom de l'instance, des identifiants de connexion et le nom de la base me semble étrange. Je verrais dans ce genre là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    sdSource = "BDD"
    NumConnexion = SQLConnecte(sdSource, "SYSTEM", "SYS", "SYSTEM.ACTIVITE", hOledbOracle)
    Si NumConnexion = 0 Alors
    	SQLInfoGene()
    	Erreur(SQL.MesErreurs)
    sinon
    	info("connexion établie")
    Fin
    SQLDéconnecte()
    En testant ce bout de code, est-ce que la connexion se fait?
    Dernière modification par Invité ; 28/09/2016 à 17h19.

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Il y a plein de choses à dire sur ce code...
    • Il y a un espace dans le nom de la requête pour le SqlPremier()
    • SqlExec renvoie un booléen, et non ne chaine
    • Il y a au moins 2 problèmes de guillemets dans la requête
    • Avec un Select *, rien ne te garantit l'ordre d'arrivée des colonnes dans le résultat
    • Il manque le SqlFerme


    Tatayo.

  11. #11
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    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 : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    J'ai un principe quand je fais des requêtes. Je fais toujours :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sRequ = " select * from ..... .....  where "
     
    sqlexec( sRequ .. avec les bons paramètres pour dire quelle BDD j'attaque)
    Je ne fais jamais sqlexec ( "select * ...")

    Je fais comme ça parce que je suis débutant ; peut -être que quand je serai expert, j'arriverai à faire autrement. Mais depuis 20 ans que je débute, je suis toujours incapable de faire autrement.
    L'avantage de faire comme ça, c'est que ça me permet de DECOMPOSER les problèmes compliqués en problèmes simples, et de facilement tester des choses ; par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    sRequ = " select * from ... ...  where "
    
    VersPressePapier(sRequ)
    Info( sRequ)
    
    sqlexec( sRequ .. avec les bons paramètres pour dire quelle BDD j'attaque)

    Ainsi , je peux récupérer ma requête très facilement, et la copier dans SQL+ ou ailleurs, et tester si ma requête fonctionne dans cet autre environnement.


    Si la requête ne fonctionne pas sous SQL+, elle n'a aucune chance de fonctionner sous Windev.

    Après, quand j'ai résolu ça, quand ma requête est correctement rédigée, il faut que je me débrouille pour l'exécuter sous Windev. Mais ça, ce sera après.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2002
    Messages : 63
    Points : 64
    Points
    64
    Par défaut Je dirai ..
    Chacun a sa façon de développer...et souvent c'est le résultat qui compte...ensuite vient l'optimisation... Mais je conseille surtout de rendre son code lisible...
    Pensez à la maintenance faite par un autre développeur... Les imbrications de codes par du codes etc.... Ca n'a jamais faciliter la lecture

    Ceci n'empeche donc pas de mixer du wlanguage en requete et des appels SQL...mais proprement serait le mieux

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 552
    Points : 1 193
    Points
    1 193
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    J'ai un principe quand je fais des requêtes. Je fais toujours :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sRequ = " select * from ..... .....  where "
     
    sqlexec( sRequ .. avec les bons paramètres pour dire quelle BDD j'attaque)
    Personnellement je fais ceci pour gagner en lisibilité de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    sRequ = chaineconstruit([
    select * 
    from ... ...  
    where toto = '%1'
    ...
    AND titi between '%2' AND '%3'
    ..
    ],
    "bonjour", 20160101, 20160131)
    Cela me permet d'ecrire des requêtes avec une présentation plus aéré afin de facilité la lecture, surtout avec des jointures ou requête imbriqué ou UNION, etc... Et le chaineconstruit() me permet également de mieux lire le code, surtout si on construit la requête avec des variables, car on mélange vite les double quote et simple quote...

  14. #14
    Futur Membre du Club Avatar de titanium23
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Août 2016
    Messages : 39
    Points : 7
    Points
    7
    Par défaut
    Bonjour merci de votre aide maintenant la requete marche parfaitement c'était une problème de " " elle affiche bien le resultat . Acctuellement je voudrai geré les erreurs mais je ne sait pas quelle boucle utilise dans le cas ou il ne trouve pas de resultat:est ce que je dois utiliser seulement
    SQLPremier ou
    TANTQUE SQLAvance("REQ1") =0 i++
    et ou est ce que je dois mettre info??
    Je voudrai qu'il affiche une info("non trouver") si il n'éxiste pas dans le bd.Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...sREQ= " select * from ..... .....  where......
     
    SQLExec(sREQ, "REQ1") 
    	NOM = SQLLitCol("REQ1", 2)
    	LibNOM=NOM
    	SQLFerme("REQ1").....

  15. #15
    Membre du Club Avatar de ptahsokaris
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2011
    Messages : 36
    Points : 56
    Points
    56
    Par défaut
    Concernant le parcours :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TANTQUE SQLAvance("REQ1") = 0
    fonctionne très bien.

    Pour savoir si tu as eu un résultat à ta requête, j'ai un doute. Je crois qu'avec SQLExec, si la requête n'a pas de résultat il renvoie une exception... A vérifier.
    Si c'est effectivement le cas, tu testes le résultat de SQLExec.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    bExec = SQLExec(sREQ, "REQ1")
     
    //*-*-*- Capture de l'exception -*-*-*
    SI PAS bExec ALORS 
            Info("Non trouvé")
            //Si tu veux capturer l'erreur n'oublie pas de rajouter SQLInfoGene("REQ1") après ton SQLExec
    	Erreur(SQL.MesErreur)
    FIN
    Sinon, s'il n'y a pas d'exception renvoyée, tu peux utiliser un booléen bTrouve initialisé à Faux qui passe à vrai quand tu rentres dans ton TANTQUE. Si après le TANTQUE il est toujours à Faux alors tu affiches ton Info.
    "Une fois, à une exécution, je m'approche d'une fille. Pour rigoler, je lui fais : « Vous êtes de la famille du pendu ? »... C'était sa sœur. Bonjour l'approche !"

  16. #16
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ptahsokaris Voir le message
    Pour savoir si tu as eu un résultat à ta requête, j'ai un doute. Je crois qu'avec SQLExec, si la requête n'a pas de résultat il renvoie une exception... A vérifier.
    FAUX! SQLExec ne renvoie pas d'exception, si elle ne renvoie rien, on passe dans la partie du code .
    Pour ma part, je n'utilise pas SQLAvance pour parcourir mes requêtes de sélection, je fais mes boucles en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TANTQUE PAS SQL.Endehors
    , par contre, il ne faut pas oublier de faire appel à l'intérieur de la boucle de sqlSuivant(<ton id de requête>), sinon, ça fait une jolie boucle infinie

    Donc pour savoir si une requête de sélection ne renvoie rien, il y a 2 méthodes à cela :
    - faire appel à la fonction sql count
    - après avoir fait appel à SQLPremier, regarder ce que renvoie SQL.Endhors

  17. #17
    Futur Membre du Club Avatar de titanium23
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Août 2016
    Messages : 39
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par romulus001 Voir le message
    - après avoir fait appel à SQLPremier, regarder ce que renvoie SQL.Endhors
    just une petite précision je place mon "info" à la fin
    du boucle TANQUE PAS ... si elle renvoie rien?

  18. #18
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par titanium23 Voir le message
    just une petite précision je place mon "info" à la fin
    du boucle TANQUE PAS ... si elle renvoie rien?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SqlPremier("REQ1")
    Si SQL.Endehors Alors
          Info("Non trouvé")
    sinon
          //faire ta boucle TANTQUE
    FIN
    SqlFerme("REQ1")

  19. #19
    Futur Membre du Club Avatar de titanium23
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Août 2016
    Messages : 39
    Points : 7
    Points
    7
    Par défaut
    Cela fonctionne parfaitement mais juste une petite dernière question,est ce que quelqu’un peut juste m’expliquè pourquoi quand je reclic le bouton( rééxecute requête) avec le même Nom pour faire une recherche par exemple,mon tableau affiche le même nom 2 fois est ainsi de suite??

    nom age
    BEN 21
    BEN 21
    ...
    le solution que propose c'est que a chaque clic du bouton la page s'initialise avec le tableau pour éviter le répétition dans le tableau si cela est possible ou est ce que vous pourriez me proposer une idée??,je veux juste une instruction.Merci beaucoup

  20. #20
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par titanium23 Voir le message
    Cest ce que quelqu’un peut juste m’expliquè pourquoi quand je reclic le bouton( rééxecute requête) avec le même Nom pour faire une recherche par exemple,mon tableau affiche le même nom 2 fois est ainsi de suite??
    Il faudrait vider ton champ table avant de le remplir

Discussions similaires

  1. Probleme de requete SQL avec la valeur NULL
    Par samyghan dans le forum Installation
    Réponses: 8
    Dernier message: 12/03/2006, 17h24
  2. Probleme de requete SQL
    Par arcane dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 04/10/2005, 11h59
  3. Probleme de requete SQL avec un champs date
    Par ju360modena dans le forum ASP
    Réponses: 5
    Dernier message: 16/06/2005, 11h18
  4. Probleme Session/requete SQL
    Par kolib dans le forum ASP
    Réponses: 4
    Dernier message: 14/06/2005, 16h23
  5. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45

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