Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
938 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Procédure moteur de recherche multi-critères (Sql Server)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Procédure moteur de recherche multi-critères (Sql Server)

n°777684
jagstang
Pa Capona ಠ_ಠ
Posté le 25-06-2004 à 11:50:09  profilanswer
 

Hello,
 
Je dois réaliser un moteur de recherhe multi-critère sur une table
 
par
- Nom
- Nom et prénom
- Prénom
- Nom et date de naissance
- Date de naissance
- Rue
- Localite
- Rue et Localite
- Nom et Localite
- Nom, Rue et Localité
 
et seulement ces variantes !
on ne pourra pas recherche par Prénom et date de naissance p.ex.
 
ces données sont "sensibles"
 
j'avais pensé à un truc du style, avec des UNION, mais ça ne fonctionne pas. une idée ?
 
 

Code :
  1. CREATE PROCEDURE SEARCH_ATB_MEMBRE
  2. @NOM VARCHAR,
  3. @PRENOM VARCHAR
  4. AS
  5. DECLARE @FIRST int
  6. SET @FIRST = 1
  7. BEGIN
  8. BEGIN TRAN
  9. IF LEN(@NOM) > 0
  10.     BEGIN
  11. SELECT * FROM ATB_MEMBRES WHERE NOM_MEMBRE LIKE '%'+@NOM+'%'
  12. SET @FIRST = 0
  13.     END
  14. IF LEN(@PRENOM) > 0
  15.     BEGIN
  16. IF @FIRST = 0
  17.     BEGIN
  18.  UNION
  19.  SELECT * FROM ATB_MEMBRES WHERE PRENOM_MEMBRE LIKE '%'+@PRENOM+'%'
  20.     END
  21. ELSE
  22.     BEGIN
  23.  SELECT * FROM ATB_MEMBRES WHERE PRENOM_MEMBRE LIKE '%'+@PRENOM+'%'
  24.     END
  25.     END
  26.   IF @@error <> 0
  27.     BEGIN
  28.       ROLLBACK TRAN
  29.     END
  30.   ELSE
  31.     BEGIN 
  32.       COMMIT TRAN
  33.   END
  34. END


Message édité par jagstang le 25-06-2004 à 11:50:50

---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
mood
Publicité
Posté le 25-06-2004 à 11:50:09  profilanswer
 

n°777689
jagstang
Pa Capona ಠ_ಠ
Posté le 25-06-2004 à 11:52:07  profilanswer
 

ma version est très, très laide. autant géré dans l'application et faire 10 procédure (ce que j'aimerais éviter)
 
J'aimerais un truc propre


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°777699
Lord II
PIB2000
Posté le 25-06-2004 à 11:56:12  profilanswer
 

Une première question est de savoir de quelle facon est fait le choix des conditions


---------------
La bave du crapaud n'empèche pas la caravane de passer .
n°777702
jagstang
Pa Capona ಠ_ಠ
Posté le 25-06-2004 à 11:57:55  profilanswer
 

Lord ii a écrit :

Une première question est de savoir de quelle facon est fait le choix des conditions


c'est à dire


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°777718
Lord II
PIB2000
Posté le 25-06-2004 à 12:11:52  profilanswer
 

Imaginons que l'utilisateur est saisi un prénom et une date de naissance, sur quoi va tu faire la recherche ??
 
La finalité est de créer une seule procédure recevant en paramètres tous les champs pouvant etre renseignés.
Ensuite au sein de la procédure on fabrique la clause where en fonction des paramètres de celle-ci.
Si on a, en plus, un élément nous permettant de savoir quels critères prédominent, la construction se résume à un bref if...else


Message édité par Lord II le 25-06-2004 à 12:13:13

---------------
La bave du crapaud n'empèche pas la caravane de passer .
n°777819
jagstang
Pa Capona ಠ_ಠ
Posté le 25-06-2004 à 13:17:16  profilanswer
 

si seulement c'était si simple... seulement certaines recherche ne sont pas permises (prénom et date de naissace par exemple)
 
par contre, prénom ou date c'est possible
 
je suis en train de faire un truc bourrin que je posterais plus tard ici sans un seul IF


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Procédure moteur de recherche multi-critères (Sql Server)

 

Sujets relatifs
date dans une requete sql[SQL]Classer résultats requête suivant une liaison réflexive.
C# : requete sql avec parametres !![VBA Excel] Erreur 424 sur une requete sql Access dans excel [Resolu]
Librairie Base de donnée SQL pour C++[ASP] moteur de recherche pour une base access
requete sql mise à jour dans code vb[DB2] recherche en ignorant les caractères spéciaux
La ligne 9 me fait une procédure de déboguage 
Plus de sujets relatifs à : Procédure moteur de recherche multi-critères (Sql Server)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR