Requetes pour rechercher dans une base

Signaler
Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007
-
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
-
En fait, je suis en train de faire une dvdthequ en developpemen objet
et j'aimerai faire des requetes pr recherché dan ma base de données.

Le probleme, c que je propos de faire des recherches sur différents
champs (durée, nationalité, acteur, titre, réalisateur, genre et année).

Je veux donc ke la requetes effectue la recherch que par rapport au champ ki son rempli.

Par exempl, si je rempli l'anné et le réalisateur, je veux que la recherch ne tienn compte que de ces 2 parametres.



Jesper avoir été assez clair et avoir des reponses rapidemen



Merci
++

5 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
54
Une solution est de construire ta requete dynamiquement, selon si certains champs sont remplis ou non

Mx
Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007

Pourrait-tu me donner un peu plus de précision stp car c justement ce que je cherche a faire



Merci beaucoup
++
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
54
Un petit exemple :



using System.Text;

...



StringBuilder sb = new StringBuilder();

sb.Append("SELECT champ1 FROM table WHERE champ1 = 'aaa' ");

if ( textbox1.Text !"") sb.Append(" and champ2 '" + textbox1.Text +"'");



...



Attention au cross-scripting !

Mx
Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007

Je t'avoue que je suis debutant et j'ai du mal a comprendr..
++
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
54
Rajoute la directive Using.Text a ton fichier, c'est pour le StringBuilder



Un stringBuilder permet, via sa méthode Append(), de faire des
concaténations de chaines plus performantes qu'en faisant mastring +=
"aaa", par exemple

Pour en revenir au code



StringBuilder sb = new StringBuilder(); // on déclare le StringBuilder


sb.Append("SELECT champ1 FROM table WHERE champ1 = 'aaa' "); // C'est le début de la requete

//Oon regarde si il y a qqhose dans une textbox, pour ajouter des conditions

// A la requete

if ( textbox1.Text !"") sb.Append(" and champ2 '" + textbox1.Text +"'");



Si par exemple, tu as une textbox Auteur, et dans ta table, un champ auteur, alors ca deviendraitif ( Auteur.Text !"") sb.Append(" and auteur '" + Auteur.Text +"'"); //



Et ainsi de suite, pour tes différents champs

Ensuite, tu n'as plus qu'a recuperer ta requete en faisait sb.ToString();


Mx