Modifier une ligne selectionnee d'un dbgrid par la requete update [Résolu]

Messages postés
26
Date d'inscription
mercredi 14 janvier 2009
Dernière intervention
20 mai 2011
- - Dernière réponse : jackblu19
Messages postés
5
Date d'inscription
dimanche 16 janvier 2011
Dernière intervention
11 mai 2011
- 26 avril 2011 à 15:27
Bonsoir,
voila mon probleme.je fais une recherche avec la requete SELECT et j' affiche le reultat de la requete dans un dbgrid.
je veux maintenant, lorsqu'on selectionne une ligne de ce dbgrid faire une modification sur cette ligne seulement.
voici la requete que j'ai fait :

SQL.Add('UPDATE MATABLE SET ETAT :etat WHERE ENERGIE :Gaz');
ParamByName('etat').AsString := 'occupee';
ParamByName('Gas').AsString := 'ene';
ExecSQL;

Pour moi, sans le WHERE la modification se passe sur toute la table c'est pourquoi j'ai mis la condition sur un autre cahmp de ma table en attendant d'avoir de l'aide
Cordialemnt!
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
77
Date d'inscription
mercredi 15 mars 2006
Dernière intervention
22 février 2011
3
Merci
Tu mets la clé primaire dans le DBGrid, après à toi de gérer si tu veux qu'elle soit visible ou pas.

Lorsque l'utilisateur sort de la ligne qu'il a modifiée, fais un update de type :
UPDATE MATABLE SET COL_1 val_1, COL_2 val_2, COL_3 = val_3 WHERE COL_PRIMARY_KEY = cle_primaire_de_la_ligne_modifiee

Est-ce que c'est plus clair pour toi comme ça ?

Bonne soirée

Merci madcap 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de madcap
Messages postés
77
Date d'inscription
mercredi 15 mars 2006
Dernière intervention
22 février 2011
0
Merci
Salut,

Est-ce une simple faute de frappe ? :

SQL.Add('UPDATE MATABLE SET ETAT :etat WHERE ENERGIE :Gaz');
ParamByName('etat').AsString := 'occupee';
ParamByName('Gas').AsString := 'ene';
ExecSQL;
Commenter la réponse de madcap
Messages postés
26
Date d'inscription
mercredi 14 janvier 2009
Dernière intervention
20 mai 2011
0
Merci
Bonsoir,c'est une faute de frappe. je m'excuse.
pour moi dans la clause where j'ai fixer a 'ene'
Supposons que si dans la colonne ENERGIE on a ene,den,fen,...
donc je veux modifier la colonne ETAT en fonction de ce qui a ete choisit.

SQL.Add('UPDATE MATABLE SET ETAT :etat WHERE ENERGIE :Gas');
ParamByName('etat').AsString := 'occupee';
ParamByName('Gas').AsString := 'ene';
ExecSQL;
Cordialemnt!
Commenter la réponse de mahz
Messages postés
77
Date d'inscription
mercredi 15 mars 2006
Dernière intervention
22 février 2011
0
Merci
Et bien tu auras tous les enregistrements qui on "ene" comme ENERGIE qui auront comme valeur "occupee" dans la colonne ETAT.

Si ton problème est résolu, penses à cliquer sur réponse acceptée. Merci

A+
Commenter la réponse de madcap
Messages postés
26
Date d'inscription
mercredi 14 janvier 2009
Dernière intervention
20 mai 2011
0
Merci
Ce que va retourner comme resutat de la requete que j'ai fait c'est ce que vous dite.
Mais moi ce n'est pas ce que je veux faire.c'est parceque je ne vois pas comment faire que j'ai fait la requete precedente.
je veux lorsqu'on selectionne une ligne du dbgrid contenant des resultats faire une modification sur cette ligne seulement qui a ete modifier. je pensais a la cle primaire mais comment recuperer cette cle ou la ligne a ete selectionnee.
Cordialement!
Commenter la réponse de mahz
Messages postés
26
Date d'inscription
mercredi 14 janvier 2009
Dernière intervention
20 mai 2011
0
Merci
Merci pour votre aide
A plus
Commenter la réponse de mahz
Messages postés
5
Date d'inscription
dimanche 16 janvier 2011
Dernière intervention
11 mai 2011
0
Merci
salut tous les amis, je vien de developper une aplication qui gère une base de donnée en acces en arabe
j'ai un probleme de l'intallation de la langue rabe dans mon delphi 5
aidez moi les amis et merci a l'avance pour tous les amis
Commenter la réponse de jackblu19

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.