[Delphi 5] SQL Requêtes et ses amis d'enfances...

SQL Requêtes et ses amis d'enfances... [Delphi 5] - Programmation

Marsh Posté le 30-05-2001 à 11:02:59    

J'ai une fiche : un composant Table, DataSource et Dbgrid
J'affiche ds mon dbgrid ma base access via OBDC, jusqu'à tout roule
 
Aprés je rajoute un composant TQuery ( pour entrer une instructions SQL) je rentre mon instruction
SELECT *  
FROM fournisseur
WHERE FouAdr='ici'
là aussi tout va, j'execute la requête grâce à un ... bouton
je fais Query1.ExecSql et Memo1.Text:=Query.text comme ça  je vois mon code sql  :love:  
Par contre ou sont les records ramenés et comment les affichés
Voila


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
Reply

Marsh Posté le 30-05-2001 à 11:02:59   

Reply

Marsh Posté le 30-05-2001 à 15:27:02    

;) up de l'am

Reply

Marsh Posté le 30-05-2001 à 17:17:21    

Query1.ExecSql  
sert à exécutter des requêtes. aucun retour n'est attendus.
Utilise plutôt les fonctions Query1.open et Query1.close .
Entre les deux, tu pourras avoir accés aux champs retourné par ta requête.
Si la structure de la table n'est pas succeptible de changé souvent, tu fais un double clic sur ton tduery (en mode de développement). Ca t'ouvrira une fenêtre. Ensuite, clic droit sur cette fenêtre, tu choisis ajouter champs et tu sélectionne l'ensemble des colones que tu veux utilisé (tu auras ainsi accés aux champs directement avec le couple nom du composant/nom du champs.
exemples :
nom du composant : query1
nom de la colone : FouAdr
nom pour laccés direct query1FouAdr
 
Pour accéder au premier enregistrement, c'est query1.first
pour passer à l'enregistrement suivant, c'est query1.next
pour vérifier si tu à atteind la fin de la liste, c'est query1.eof (vrai si finis)
 
Pour conaitre la valeur de ton champ
query1FouAdr.AsString (chaine de caractère)
query1FouAdr.AsInteger (entier)
query1FouAdr.AsFloat (nombre à virgule flotante)
query1FouAdr.AsDatetime (date/heure)
 
Utilise l'aide pour en savoir plus.
 
Au boulot, on a des fonctions en plus pour ouvrir/fermer des requêtes en évitant les problèmes de tentative d'ouverture de requête ouverte , de fermeture de requête fermé et autre cause d'erreur du même genre. Je ne peux pas t'envoyé le code correspondant vus que je n'en possède pas les droits. Je te le dis pour que t'évite ces désagrémments dans ton code.
 
Bonne chance dans la découverte des composants de bdd de Delphi.

Reply

Marsh Posté le 31-05-2001 à 08:50:28    

pour afficher le résultat de ta requête, il faut un DBGrid qui est relié soit au dataset soit au Query (ça dépend de sit'as relié le query avec le dataset ou l'inverse).
 
ensuite pour exécuter le requête:
Query1.Active := FALSE ;
Query1.sql := 'ta requête' ;
query1.databasename := 'chemin de ta base' ;
Query1.Active := TRUE ;
 
rappel: on peut pas exécuter une requête si le query.active = TRUE...

Reply

Marsh Posté le 31-05-2001 à 20:27:48    

Pour naviguer dans tes enregistrements, quatres commandes :
 
- query.First (premier enregistrement)
- query.Next (enregistrement suivant)
- query.Last (dernier enregistrement)
- query.eof (fin de l'ensemble)
 
Sinon, lorsque tu est sur un enregistrement, pour lire un des champ :
 
query.FieldByName('NomDuChamp').AsTypeDeLaValeurDeRenvoi
 
exemple :
Edit1.Text := query1.FieldByName('NioClient').AsString;
 
avec ce code tu peux également mettre à jour :
 
query1.FieldByName('NoClient').AsString := Edit1.Text;
 
c'est comme ça que je manipule mes bases, ou avec un ADOCommand

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed