begin process at 2010 02 10 02:40:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

Modifier une donnée dans une base de donné en utilisant son referentiel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Modifier une donnée dans une base de donné en utilisant son referentiel

jeudi 2 septembre 2004 à 18:15:44 | Modifier une donnée dans une base de donné en utilisant son referentiel

Maitre_Gonzo

Bonjour
Un probleme qui se pose a moi aujourd'hui est le suivant:
Lorsque j'utilise le code qui suit :


//Table_piece.First;
//While not Table_piece.Eof do
//begin
//If Table_pieceReference.value = Refe_piece then
//begin
//Nomtext.text:= Table_pieceNom.value ;
//Stocktext.text:= inttostr(Table_pieceStock.value) ;
//Box_type.text:= Table_pieceType.value ;
//Box_marques.text:= Table_pieceMarque.value ;
//Prixtext.text:= inttostr(Table_piecePrix_en_Euros.value) ;
//Table_piece.Next;
//end;
//end;


Je cherche a afficher des informations concernant une piece en particulier , le programme se compile mais lorsque je lance la fenetre qui contient ce code le processus plante et je ne parviens pas a comprendre pourquoi. Merci de votre aide
jeudi 2 septembre 2004 à 23:28:54 | Re : Modifier une donnée dans une base de donné en utilisant son referentiel

Delphiprog

Administrateur CodeS-SourceS
C'est parce que tu boucles toujours sur el même enregistrement. Tu crois que l'application plante, mais c'est toi qui t'es planté. Voici le code rectifié :


Table_piece.First;
While not Table_piece.Eof do
begin
If Table_pieceReference.value = Refe_piece then
begin
Nomtext.text:= Table_pieceNom.value;
Stocktext.text:= inttostr(Table_pieceStock.value) ;
Box_type.text:= Table_pieceType.value ;
Box_marques.text:= Table_pieceMarque.value ;
Prixtext.text:= inttostr(Table_piecePrix_en_Euros.value) ;
//ajouter la ligne suivante si tu souhaites t'arrêter
//sur le premier enregistrement trouvé
break;
end;
//la ligne suivante a été déplacée
Table_piece.Next;
end;


En clair, tu ne déplaçais le curseur que lorsque Table_pieceReference.value = Refe_piece.

Pour améliorer la vitesse de ton application, surtout s'il s'agit de boucler sur les enregistrements, il fauvrait mieux utiliser AsInteger que de transtyper le retour d'une propriété Value qui est elle même un variant codé sur 32 octets.
Par exemple, au lieu de :
Stocktext.text:= inttostr(Table_pieceStock.value) ;
Il est plus efficace d'écrire :
Stocktext.text:= Table_pieceStock.AsInteger ;
De même :
Nomtext.text:= Table_pieceNom.value;
peut être emplacé par :
Nomtext.text:= Table_pieceNom.AsString;
May Delphi be with you
jeudi 2 septembre 2004 à 23:32:13 | Re : Modifier une donnée dans une base de donné en utilisant son referentiel

Maitre_Gonzo

decidement tu m aura bien aidé aujourd hui encore merci a toi
vendredi 3 septembre 2004 à 18:21:13 | Re : Modifier une donnée dans une base de donné en utilisant son referentiel

Maitre_Gonzo

Bon apparement cela marche mais le probleme que je rencontre encore est que une fois l'enregistrement trouvé il me faux le modifier : Si je lemodifie sans autre commande au prealable , le projet bug en me reportant que la table n est pas en mode insertion . Soit , je me décide a mettre un table_piece.insert qui sera cloturé par un table_piece.post mais un nouveau probleme survient a savoir que ce n est pas l'enregistrement en cour qui est modifié mais bel et bien un nouvel enregistrement créé . Y aurait t il une commande aprochante de Insert qui me permette de mettre a jour ces données ?
vendredi 3 septembre 2004 à 19:21:53 | Re : Modifier une donnée dans une base de donné en utilisant son referentiel

Delphiprog

Administrateur CodeS-SourceS
Pour modifier un enregistrement, il faut faire appel à la méthode Edit du composant table ou requête (au lieu de Insert).
May Delphi be with you


Cette discussion est classée dans : text, table, code, value, piece


Répondre à ce message

Sujets en rapport avec ce message

maj table [ par kwuy ] j'ai une table adherent que je mets à jour par des requetes mais lors de l'enregistrement d'un nouvel adherent il me plante en voulant absolument remp Table.emptytable -> erreur ? [ par manson34 ] Je veux vider une table (apres l'execution d'un tbatchmove) grace a la commande : table.emptytable; Mais a l'execution j'ai le sql delphi [ par Kruger ] Salut, j'ai un probleme depuis maintenant quelques jours que j'arrive pas à résoudre, voilà, quand je fais une requete SELECT xxx FROM yyy WHERE zzz a message d'erreur avec un calcul de valeur TEdit [ par stephanesvh ] salut a tout le monde Voila, j'ai 3 TEdit-Edit1-Edit2-Edit3Pour les Edit1 Edit2 et Edit3 la valeur Text est vide et recevras des nombres decimal (exe Mdi s.v.p .... [ par Programmeur1987 ] Bonjour tlm, J'aimerais bien savoir Comment utiliser ActiveMdiChild car dans mon appli, il me marque violation du code ... etc voila Aide moi [ par wonggendheng ] Bonjour a tous...J'ai un problem avec mon code suivant :procedure TForm2.ActionFZ1Execute(Sender: TObject);var Distance, Input, c, Freq, Tower1, To Table OEM étrangère! Qu'elqu'un sait-il faire? [ par jlmcom ] Bonjour!J'arrive à lister les langues supportées par le système windows avec la fonction : Languages.name[i];mais je n'arrive pas à charger la table d filtrer un champ numerique [ par djejja ] Salut,ma patite application est développer sur Delphi6 et la base est implanté sur Paradox7j'ai comme but de filtrer une liste suivant un code si j'ut generation de cle et tableau [ par MoveX ] [code]var  i,n: Integer;begin  Randomize;  repeat  begin    n:= Random(255);    if n in [48..57,65..90,97..122] then         &nb filtrage BD Access avec Delphi [ par nassim25 ] procedure TfrmFamille.codeKeyUp(Sender: TObject; var Key: Word;  Shift: TShiftState);Var   Erreur : Integer;beginErreur:=0;TableFamille.Filtered:=Fals


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales