Recherche ds base de donnée

lnicos Messages postés 67 Date d'inscription lundi 4 mars 2002 Statut Membre Dernière intervention 4 octobre 2005 - 7 déc. 2002 à 18:44
padsou Messages postés 121 Date d'inscription jeudi 24 janvier 2002 Statut Membre Dernière intervention 13 avril 2010 - 9 déc. 2002 à 16:33
Voilà je m'explique,
j'aimerais effectuer une recherche dans ma base de donnée, en fonction du nom, prénom (par exemple) présent dans des "edits". J'aimerais que le resultat s'affiche ds un DBGRid ou autre, et que bien sur seul les résultats bons soient affichés.
Parce que g utilisé pour le moment la fonction locate mais elle ne fait que pointer le resultat. Moi se quej'aimerais c avoir tous les résultats ds un DBGrid par exmple

merci pour votre aide

10 réponses

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
7 déc. 2002 à 20:48
Alors il faut faire une requète SQL avec les conditions données par les TEdit, c'est la méthode la plus générale. Car ensuite il suffit de lier le DBGrid au résultat de la requète via un DataSource.

Tu peux aussi utiliser la propriété Filter de certains composants, mais tout n'est pas forcement faisable avec Filter.

--- :sleepy) Nono40@fr.st :sleepy) ---
Nouveau ---> Nono40.fr.st
0
lnicos Messages postés 67 Date d'inscription lundi 4 mars 2002 Statut Membre Dernière intervention 4 octobre 2005
7 déc. 2002 à 20:52
ok merci ci cool nono, jvé tenter ça
0
lnicos Messages postés 67 Date d'inscription lundi 4 mars 2002 Statut Membre Dernière intervention 4 octobre 2005
8 déc. 2002 à 09:13
tu pourrais sans voiloir abuser, me faire un piti exemple stp.
Ce que je cherche à faire, c'est de pouvoir trier mes contacts par exemple en faisant une recherche du type: contact dont le nom commence par Dup* et dont l'âge est supérieur à20. tu vois ? tu pourrais me montrer comment faire ô grand nono ;-p

merci d'avance et encore dsl
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
8 déc. 2002 à 19:09
Je ne sais pas quels composants tu utilises, mais il faut faire une requète du genre :
SELECT * FROM MATABLE
WHERE ( NOM LIKE "Dup%" ) AND ( AGE > 20 )

--- :sleepy) Nono40@fr.st :sleepy) ---
Nouveau ---> Nono40.fr.st
0

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

Posez votre question
lnicos Messages postés 67 Date d'inscription lundi 4 mars 2002 Statut Membre Dernière intervention 4 octobre 2005
8 déc. 2002 à 19:34
j'utilise BDE, comment faut faire?jles mes où ces instructions ??

merci
0
padsou Messages postés 121 Date d'inscription jeudi 24 janvier 2002 Statut Membre Dernière intervention 13 avril 2010
9 déc. 2002 à 09:43
Il faut inclure dans ta requete les params :
Pour les utiliser, dans ton sql tu dois mettre par exemple :

Select * from Clients where nomcli =: paramnom and prenomcli =: paramprenom etc...

Tu affectes ensuite les params et faisant :
MaQueryClients.Params[0].AsString := Edit1.text;
MaQueryClients.Params[1].AsString := Edit2.text;
Tu actives la query et tu fais comme a dit nono pour la lier au dbgrid.

J'espere avoir été clair...

Ciao !
0
lnicos Messages postés 67 Date d'inscription lundi 4 mars 2002 Statut Membre Dernière intervention 4 octobre 2005
9 déc. 2002 à 12:50
ok c cool merci, mais tu pourrais me montrer sur un pitit ex

merci et dsl
0
padsou Messages postés 121 Date d'inscription jeudi 24 janvier 2002 Statut Membre Dernière intervention 13 avril 2010
9 déc. 2002 à 13:42
C'est déjà un exmple ce que j'ai posté mais si cela n'est pas suffisant tu peux aller voir sur www.lescours.fr.st pour tout ce qui se rapporte à Delphi. C'est des cours de mon ancien prof ;) ...
Sinon sur quoi as tu besoin de plus d'explications ?
0
lnicos Messages postés 67 Date d'inscription lundi 4 mars 2002 Statut Membre Dernière intervention 4 octobre 2005
9 déc. 2002 à 16:09
sur ma connexion à une base avec dbexpress car ça marche po, et sur ou mettre les instructions ke tu m'as filé, ds kel compo ?

merci
0
padsou Messages postés 121 Date d'inscription jeudi 24 janvier 2002 Statut Membre Dernière intervention 13 avril 2010
9 déc. 2002 à 16:33
Alors procédons dans l'ordre :
1 - Tu crées un datamodule
2 - Tu mets un composant "database" que tu trouves dans l'onglet "Accès BD"
3 - Tu mets un composant "Query" avec les propriétés qui vont bien (Database).
4 - Tu mets ton Sql dans la propriété Sql de la Query : Select * from Clients Where nomclient=:mon_param_nom_client and prenomclient=:mon_param_prenom_client;
5 - Maintenant, si tu vas voir dans la propriété "Params" de ta Query, tu vas t'apercevoir que les 2 params ont été créé (magique, non?)
6 - Tu crées un "datasource" qui se trouve dans "Accès BD" et tu fais pointer la Query sur ce Datasource.
7 - Mets ensuite un DbGrid (onglet "Contrôle BD") sur ta fiche et lie le à la Datasource créée précédemment.
8 - Mets 2 édits et un bouton sur ta fiche.
9 - Dans le code du bouton tu mets :
MaQueryClient.Active := False;
MaQueryClient.Params[0].AsString := Edit1.text;
MaQueryClient.Params[1].AsString := Edit2.text;
MaQueryClient.Active := True;

N'hésite pas à reposter un message si tu as un problème. 8-)

$$$$$$$$----Padsou----$$$$$$$$
0
Rejoignez-nous