Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
891 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [DELPHI] requete SQL : comment préciser la table de recherche ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[DELPHI] requete SQL : comment préciser la table de recherche ?

n°621472
davidmarli
Posté le 25-01-2004 à 20:42:33  profilanswer
 

Salut,
 
voilà mon pb :
 
J'ai une chaine de connection qui me connecte à mon fichier Gestion.mbd (lequel contient 3 tables)
 
J'ai une seconde chaine de connection au travers laquelle j'ouvre un fichier F_ELE.DBF
 
 
Je voudrais faire une requete sur cette table afin de sortir un certain nb d'info. Mais j'ai un pb avec ma command SQL :
 
Select ELENOM,ERENOM
From ???
Where ELENOM='TOTO'
 
Le pb est que je ne sias pas quoi mettre comme nom de table !
 
En effet si je mets f:\softnote2\BDGEP\F_ELE.dbf, delphi me dit : information incohérente ....
 
De plus ma requête est faite avec un ADOQUERY, mais je ne suis pas certain des connections et datasource de cet objet
 
J'ai mis comme datasource : la BD où je veux faire une recherche (DataSourceFELE)
et comme connection : ADOCOnnectionDBF (la connection à la base F_ELE.dbf)
 
Voilà, merci pour votre aide.
 
 
PS : apprendre la BD seul n'est pas vraiment chose facile !


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
mood
Publicité
Posté le 25-01-2004 à 20:42:33  profilanswer
 

n°621524
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-01-2004 à 22:56:02  profilanswer
 

From F_ELE ?  
ou From F_ELE.DBF ?
ou encore From "F_ELE.DBF" ?
ou pour finir 'F_ELE.DBF' ?
(juste des idées comme ça, je ne me souviens plus comment j'avais fait... faut que je voie ça demain au boulot ;))


Message édité par antp le 25-01-2004 à 22:57:00

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°621813
davidmarli
Posté le 26-01-2004 à 13:19:28  profilanswer
 

C'est bon j'ai trouvé : mon erreur était que les fichiers de BD n'étaient pas dnas mon rép de mon projet !
Une fois copiées dedans plus de pb.
 
Sinon pourquoi cette suite d'instruction marche :  
 
adotableBD.close;
adotableBD.tablename:='F_ELE';
adotableBD.open;
showmessage('toto');
ADOTABLEBD.first;
 
et lorsque je rajoute en dernière position la commande suivante
ADOTABLEBD.deleterecords(arcurrent);
 
Delphi m'indique : Le projet projet1.exe .... message : "La requête est trop complexe" !
Merci


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°621831
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-01-2004 à 13:56:56  profilanswer
 

c'est quoi "arcurrent" ?
 
edit: ok, vu dans l'aide, c'est une constante
 
Pourquoi tu fais pas juste Delete plutôt que d'appeler DeleteRecords ?


Message édité par antp le 26-01-2004 à 13:58:22

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°622123
davidmarli
Posté le 26-01-2004 à 18:05:02  profilanswer
 

et bien même message : la requête est trop complexe !!!
Franchement la BD c'est bien, mais ça commence à me gon... !
 
Sinon avant de faire un ADOTABLEBD.delete
faut-il mettre  
ADOTABLEBD.Insert;   ????
Et après un ADOTABLEBD.post; ?????
 
Merci


Message édité par davidmarli le 26-01-2004 à 18:22:29

---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°622177
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-01-2004 à 19:07:38  profilanswer
 

bah non, juste le delete.
C'est ce genre de problèmes qu'on a avec ces composants automatiques.
Alors qu'avec des bêtes requêtes SQL et un TADOQuery en général ça passe, mais :
- il faut connaître le SQL
- pour Paradox/dBase c'est pas terrible en général
- ça empêche souvent d'utiliser les composants automatique (TDBEdit, etc.)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°622218
davidmarli
Posté le 26-01-2004 à 20:04:41  profilanswer
 

bon j'ai fait autrement : j'ai posé un ADOCOmmand
et en textcommand j'ai fait :  
 
'DELETE From F_ELE' !
 
Sinon question bête : si j'ai une table dans ma bd, et jee charge un fichier contenant une version plus récente de ma base : comment recupérer UNIQUEMENT les nouveaux enregistrments ou bien ceux qui ont été modifiés ?
 
J'ai entreaperçu une fonction update, mais j'ai pas bien compris son rôle .
 
Merci
 


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°622220
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-01-2004 à 20:07:24  profilanswer
 

davidmarli a écrit :


 
'DELETE From F_ELE'  


 
ça vire tout le contenu de la table ça je pense
 

davidmarli a écrit :


Sinon question bête : si j'ai une table dans ma bd, et jee charge un fichier contenant une version plus récente de ma base : comment recupérer UNIQUEMENT les nouveaux enregistrments ou bien ceux qui ont été modifiés ?
 
J'ai entreaperçu une fonction update, mais j'ai pas bien compris son rôle .


 
Update sûrement pas.
Je pense qu'il faut manuellement regarder si chaque enregistrement existe et l'ajouter s'il n'existe pas ou s'il a été modifié


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°622872
le duke
ça vous dérange si je fume ?
Posté le 27-01-2004 à 15:21:39  profilanswer
 

Et pk t'essaie pas avec un TQuery tout con ?  
Sinon pour le pb d'update : créer un champ dans ta base 'MAJ' avec un format date et compare les date de MAj  ....

n°623024
davidmarli
Posté le 27-01-2004 à 20:05:32  profilanswer
 

pas couillon comme truc !
Merci


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
mood
Publicité
Posté le 27-01-2004 à 20:05:32  profilanswer
 

n°624633
le duke
ça vous dérange si je fume ?
Posté le 29-01-2004 à 10:55:31  profilanswer
 

si ce pour moi que tu dis ça, merci :D

n°624801
davidmarli
Posté le 29-01-2004 à 12:46:11  profilanswer
 

oui, le Duc c'était pour toi !!!
 
Sinon, une ch'tite question : dans ma base access j'ai 5 tables.
Dans Delphi je suis obligé de poser 5 composant ADOTable sur ma form ?
 
Merci


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°624803
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-01-2004 à 12:49:29  profilanswer
 

si tu dois accéder aux 5 à la fois, oui, je pense


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°624812
le duke
ça vous dérange si je fume ?
Posté le 29-01-2004 à 12:59:12  profilanswer
 

Voilà antp t'as répondu : si ce n'est pas simultané, tu peux n'en avoir qu'une et faire des update de requête lors du changement de table.
Mais ça reste qd même plus simple d'utiliser 5 ADOTable...
Privilège pê plutôt les ADOQuery : perso j'ai l'impression que les composants "table" en règle générale sont moins évolués et risquent plus de merder : mais ça n'engage que moi !!

n°624841
davidmarli
Posté le 29-01-2004 à 13:28:23  profilanswer
 

merci à tous les deux.
 
Sinon désolé pour ton pseudo : j'avais pas fais gaffe LE DUKE !!


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [DELPHI] requete SQL : comment préciser la table de recherche ?

 

Sujets relatifs
Recherche bêta testeur / développeur[DELPHI] Création d'une chaine de connection à une BD ?
[SQL]J'arrive pas à trouver ma requête![Delphi 7] Récupérer tous les messages arrvant au niveau d'un Tbutton
[SQL] "outer join" et "sum", "min": requête problematiqueUtilisation de dbExpress sous Delphi 7
bug de ASP - SQL serveur ?? tabulations et espaces aléatoires...[postgreSQL][unix] scripts SQL et PL/SQL
Plus de sujets relatifs à : [DELPHI] requete SQL : comment préciser la table de recherche ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR