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 :

[WD7.5] Requête SQL avec champ de saisie


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 53
    Points : 41
    Points
    41
    Par défaut [WD7.5] Requête SQL avec champ de saisie
    Bonjour, j'ai cherché dans l'aide windev et dans le forum et j'ai vu des articles qui ressemblait à mon problème mais je n'ai toujours pas réussi après plusieurs heures donc voici mon problème.
    J'ai une requête "test" créé en programmation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT meschamps FROM table1,table2 where champ.table1=champ.table2 and  month(champ1)=month(getdate()) and day(champ1)=day(getdate()+ {param1} ) and year(champ1)= year(getdate())
    Mon problème est que j'ai un champ de saisie dans une table que j'ai appelé nbjours et qui a pour valeur par défaut 5.
    Je veux que ma requête récupère la valeur de ce champ qui peut varier et mette cette valeur à la place de {param1}.
    J'ai donc essayé dans le code de la table de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    i est un entier = 0
     
    SQLConnecte("maconnexion","utilisateur","mdp","basededonnées","OLEDB")
    SQLExecWDR(test,nbjours)
    TANTQUE SQLFetch("test") = 0     // Il y a encore une ligne à lire
    	i++
    	// Récupérer les données
    	Nom[i] = SQLLitCol("test", 1)
    	Prénom[i] = SQLLitCol("test", 2)
    	Date[i] = SQLLitCol("test", 3)
     
    FIN
    SQLFerme("test")
    Mais cela n'a pas l'air de fonctionner.
    J'ai essayer avec HexécuteRequête mais pareil rien à faire.
    Si quelqu'un à une idée du problème ça serait sympa merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Utilisez les balises CODE (icone dièse dans la barre d'outil quand on tape son post) pour entourer vos portions de code. Ce sera plus lisible.

    Pour répondre à votre question, SQLExec prend une chaine de caractère en paramètre pour exécuter la requête. Rien ne vous empêche de créer une chaine par concaténation pour y "coller" la valeur contenue dans un champ de saisie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    a est une chaine
    b est une chaine
    c est une chaine
     
    a = "toto"
    b = "tata"
     
    c = a + b 
    //c contient maintenant "tototata"

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 53
    Points : 41
    Points
    41
    Par défaut
    Je n'ai pas trop compris la réponse je crois, en fait je veux juste savoir comment insérer le contenu d'un champ de saisie dans une requête SQL.
    Si mon_champ_de_saisie = 5 (valeur rentrée par l'utilisateur)
    la requête sql utilisera donc la valeur 5.

    j'ai donc ma requête d'un côté avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * from table where champ = mon_champ_de_saisie
    et ma table de l'autre avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    i est un entier = 0
     
    SQLConnecte("maconnexion","utilisateur","mdp","basededonnées","OLEDB")
    SQLExecWDR(test,mon_champ_de_saisie)
    TANTQUE SQLFetch("test") = 0     // Il y a encore une ligne à lire
    	i++
    	// Récupérer les données
    	Nom[i] = SQLLitCol("test", 1)
    	Prénom[i] = SQLLitCol("test", 2)
    	Date[i] = SQLLitCol("test", 3)
     
    FIN
    SQLFerme("test")
    Mais je ne sais pas comment déclarer mon_champ_de_saisie dans ma requête, j'ai essayé avec un {paramètre} mais sans succès

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Au temps pour moi.

    Je pensais que vous travailliez avec SQLExec qui prend une requête sous forme de chaine de caractère en paramètre.

    Pour les requêtes windev, je ne sais pas.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 53
    Points : 41
    Points
    41
    Par défaut
    Bon finalement je suis passé par SQLExec en récupérant le champ de saisie en mettant simplement dans ma requete where champ = " +champ_saisie+ "

    Merci

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

Discussions similaires

  1. [MySQL] Requête sql avec un champ imaginaire ?
    Par nolookpass8 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/01/2014, 09h48
  2. [MySQL] Requête sql avec champs inexistants
    Par nolookpass8 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/11/2013, 11h15
  3. Requête SQL avec champs variable
    Par yannydu dans le forum Débuter
    Réponses: 14
    Dernier message: 21/04/2009, 12h41
  4. [SQL] Requête SQL avec champ identique
    Par morgan47 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/10/2007, 20h53
  5. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 11h37

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