Requetes pour rechercher dans une base

malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 - 6 mai 2005 à 17:30
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 7 mai 2005 à 17:04
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

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
6 mai 2005 à 17:48
Une solution est de construire ta requete dynamiquement, selon si certains champs sont remplis ou non

Mx
0
malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 1
6 mai 2005 à 18:15
Pourrait-tu me donner un peu plus de précision stp car c justement ce que je cherche a faire



Merci beaucoup
++
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
6 mai 2005 à 18:36
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
0
malhivertman1 Messages postés 489 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 22 novembre 2007 1
7 mai 2005 à 15:44
Je t'avoue que je suis debutant et j'ai du mal a comprendr..
++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
7 mai 2005 à 17:04
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
0
Rejoignez-nous