Modifier la valeur d'un champ dans une table

armstrong0000 Messages postés 32 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 juillet 2010 - 20 avril 2008 à 23:16
armstrong0000 Messages postés 32 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 juillet 2010 - 11 mai 2008 à 22:06
Bonjour/bonsoir,

Je voudrai changer un champ de ma table en cliquant sur un bouton, par exemple si j'ai une table "chambre" et un champ "etat" (initialisé à libre) je voudrai qu'en cliquant sur un bouton "arrivé" l'etat de la chambre qui etait à "libre" devienne "occupé"

J'ai pensais à:

monquery.sql.clear;   
monquery.sql.add (' update chambre set etat=................where num_chambre=:'''+edit1.text+'''........');  j'ai pas su continuer :s
monquery.execsql;

(delphi7/mysql)

Merci

6 réponses

Rematrix Messages postés 115 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 16 juillet 2008
21 avril 2008 à 11:48
monquery.sql.clear;   
monquery.sql.add (' update chambre set
etat=occupé where num_chambre=:'''+edit1.text+'''); 
monquery.execsql;
continué quoi ?!!
Matrix
0
armstrong0000 Messages postés 32 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 juillet 2010
22 avril 2008 à 21:27
Bonsoir, (desolée pour le retard)
Dans ce cas là il me signale l'erruer suivante:
query1: field 'le_contenu_de_mon_edit' is of an unknown type.
0
Rematrix Messages postés 115 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 16 juillet 2008
23 avril 2008 à 11:23
vérifie ce champ est-il définie (alphanemirique, numirique...) tu voie ce que je veux dire! tu ouvre modul base de donée et tu ouvre ta table et tu vérifie ce champ.

Matrix
0
armstrong0000 Messages postés 32 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 juillet 2010
23 avril 2008 à 19:15
j'ai deja verifié mais ca marche pas
je vous montre mon code:

with query1.SQL do
begin
query1.Close;
clear;
add('update chambre set etat=occupee where date_debut_reservation=:'''+datetostr(datetimepicker1.Date)+'''');
query1.Open;
label4.Caption:=query1.fieldbyname('nbr_arrivees').AsString;
end;

PS: si je ne met pas DateToStr il me dit que les types sont incompatibles (string and TDate)
0

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

Posez votre question
Rematrix Messages postés 115 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 16 juillet 2008
24 avril 2008 à 11:59
Normalement pour un update ou suppression utilise execsql pour d'autre composant semblent à  TQuery utilise execute.
si tu utilise Mysql et ben! ça explique tous, changer le format de ta date si  c'est Paradox laisse le format comme elle est c'est pas grave, Enfin! voila le code

with query1.SQL do
//*******************
begin
clear;
add('UPDATE chambre SET etat=occupee WHERE date_debut_reservation=:'''+formatdatetime('yyy/mm/dd',datetimepicker1.Date)+'''');
Execsql;
end;
//***********************************
label4.Caption:=query1.fieldbyname('nbr_arrivees').AsString;

et écrit les commande sql en Maj.

Matrix
0
armstrong0000 Messages postés 32 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 juillet 2010
11 mai 2008 à 22:06
Bonjour, bonsoir
Je continu sur ce même topic car c un même probleme, j'ai repris ce code:

monquery.sql.clear;   
monquery.sql.add (' update chambre set etat=occupee where num_chambre=:'''+edit1.text+'''); 
monquery.execsql;

Sachant que mon num_chambre est de type integer dans ma BD, j'ai toujours cette erreur:
query1: field 'le_contenu_de_mon_edit' is of an unknown type.

Je sais pas comment exprimer edit1.text pour dire qu'il contient un entier

Si quelqu'un peut m'aider
Merci
0
Rejoignez-nous