OVH Cloud OVH Cloud

Requête paramétrée

3 réponses
Avatar
Irénée
bonjour
Je suis un nouvel utilisateur de SQL Server 2000 et j'ai=20
des difficult=E9s =E0 trouver le moyen de faire une requ=EAte=20
qui accepte un param=E8tre.=20
Par exemple, S=E9lectionner les champs CHAMPS1...CHAMP5=20
lorsque CHAMP5 est =E9gal au param=E8tre DATE1.
Merci de m'aider

3 réponses

Avatar
Yan
Bonjour,

Si tu veux chercher l'équivalent des requêtes Access, fais
une croix dessus : ça n'existe pas en SQL Server.

Pour faire à peu près la même chose, on a créé une table
pour stocker le nom et la valeur des paramètres. On peut
ainsi faire des vues qui vont chercher la valeur des
paramètre dedans.
Ensuite, dans le code de l'appli, on renseigne la table
avant d'exécuter la vue.




-----Message d'origine-----
bonjour
Je suis un nouvel utilisateur de SQL Server 2000 et j'ai
des difficultés à trouver le moyen de faire une requête
qui accepte un paramètre.
Par exemple, Sélectionner les champs CHAMPS1...CHAMP5
lorsque CHAMP5 est égal au paramètre DATE1.
Merci de m'aider
.



Avatar
gerard
salut
je ne sais pas si c'est ce que tu veux mais voici une piste

pour faire ta requete tu selectionne les champs voulus : Select
Matable.Champ1, Matable.champ2....
dans ta table : From Matable
si tu t'arrete la tu va obtenir tous les enregistrement qui feront
apparaitrent les champs1 et 2 de ta table
si tu veux selectionner seulement certains enregistrement par rapport a un
parametre, tu choisi ton paramettre qui va etre le contenu d'un champ :
Where Champ1= Monparamettre
attention tous les parametre sont mis entre simple cote '
en plus si c'est une variable elle il faudra la concatener avec un & ou un +
et ca peut donner ceci
MaRequeteSql = " Select Personne.Nom, Personne.PreNom,Personne.Age From
Personne Where Personne.Age > '01/01/2001' "
si l'age est une variavle qui vient de quelque parton peut la remplacer par
son nom exemple VarDateAge
et ca peut donner
MaRequeteSql = " Select Personne.Nom, Personne.PreNom,Personne.Age From
Personne Where Personne.Age > ' " + VarDateAge + " ' "
tu remarque que l'on a rajouté des doubles cotes cat MaRequetSql est toujour
de type String et a l'interieur des double cote elle sont remplacée par des
simple cote.
maintenant il ne te reste plus qu'a ouvrir ton recordset avec la methode
Open

Bon courage

ge

"Irénée" a écrit dans le message de
news:022301c3d433$a9d64b80$
bonjour
Je suis un nouvel utilisateur de SQL Server 2000 et j'ai
des difficultés à trouver le moyen de faire une requête
qui accepte un paramètre.
Par exemple, Sélectionner les champs CHAMPS1...CHAMP5
lorsque CHAMP5 est égal au paramètre DATE1.
Merci de m'aider
Avatar
Michel Walsh
Salut,


Faire une "stored procedure" ou, avec MS SQL 2000, une fonction, qui
accepte un argument.


CREATE PROCEDURE toto(@param datetime)
AS SELECT tonChoixFROM dbo.Joists
WHERE (Champ5 = @param)
et on peut alors en demander l'exécution:

EXECUTE PROCEDURE toto '2000.12.12'

par exemple (le format de la date peut varier). On peut modifier une telle
procédure avec ALTER PROCEDURE. (Le EXECUTE n'est techniquement requis que
si ce n'est pas le premier énoncé de la batch.)



Espérant être utile,

Vanderghast, Access MVP



"Irénée" wrote in message
news:022301c3d433$a9d64b80$
bonjour
Je suis un nouvel utilisateur de SQL Server 2000 et j'ai
des difficultés à trouver le moyen de faire une requête
qui accepte un paramètre.
Par exemple, Sélectionner les champs CHAMPS1...CHAMP5
lorsque CHAMP5 est égal au paramètre DATE1.
Merci de m'aider