[DELPHI] Création d'une chaine de connection à une BD ?

Création d'une chaine de connection à une BD ? [DELPHI] - Delphi/Pascal - Programmation

Marsh Posté le 23-01-2004 à 13:18:09    

Salut,
tjs pour mon prog, j'aurais besoin de créer temporairement une chaine ADO pour ouvrir un fichier .DBF
 
J'ai donc une procedure :  
 
Procedure TRUC;
Var AdoconnectionFELE:TADOCOnnection;
    AdoDatasourceFELE:TSataSource;
    AdoTableFELE:TADOTABLE;
Begin
 
 
end;  
 
pour initialiser la chaine il faut bien que je fasse un ADOConnectioFELE.create ? Mais je ne sais pas quoi mettre entre les parenthèses,Delphi me demande un objet de type TComponent !!!!
 
KEZAKO ???
 
Merci pour toute réponse.


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

Marsh Posté le 23-01-2004 à 13:18:09   

Reply

Marsh Posté le 23-01-2004 à 14:47:14    

tu peux mettre nil
c'est le parent du composant
mais si tu les crées et supprimes toi-même dans le code tu ne dois pas t'en soucier.
Il faut que tu crées le TADOConnection et le TDataSource aussi.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 23-01-2004 à 19:44:49    

ben en fait qd je fais  
 
ADOCOnnectionFELE.create(nil);
Delphi "plante" en disant : "component Groupbox2 already exists"  
 
En plus je ne vois pas pourquoi groupbox2 !
La procédure se déclenche qd je clique sur un item d'un menu !
 
voilà, si quelqu'un a la solution!


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

Marsh Posté le 23-01-2004 à 19:54:53    

heu pour créer un objet c'est
variable := classe.create
là tu fais variable.create
:o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 23-01-2004 à 20:38:12    

oups !!!


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

Marsh Posté le 23-01-2004 à 21:07:05    

par contre pour la table : ADOTABLEFELE,
 
comment créer charger le champ 'ELENOM' par exemple ?
 
Parce que quand on l'a sur la form on doublez clique sur ADOTABLE, et on fait ajouter le champs que l'on veut, mais sans como sur la form on fait comment ?
 
Moi j'ai fait :  
ADOTABLEFELE.fields.create(nil);
ADOTableFELE.fields[0].fieldname:='ELENOM';
 
mais DELPHI me sort un gros :Index out of range  fields[0] !!
Merci


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

Marsh Posté le 23-01-2004 à 21:57:36    

ADOTableFELE.FieldByName('ELENOM').AsString := 'une valeur'


Message édité par antp le 23-01-2004 à 21:57:44

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 23-01-2004 à 22:31:57    

delphi me dit field 'ELENOM' not found !!!
En fait je pense que je ne me suis pas bien fait comprendre.
 
J'ai un DBGRID sur ma form, et je voudrais que lorsque j'initialise ma chaine de connection ADO avec  ma ADOTABLEFELE,
ma dbgrid, m'affiche tous les elements du champ 'ELENOM'.
 
Qd tu as un composant ADOTable sur une form, tu double-clique dessus, cela fait apparaître une fenetre dans la quelle tu fais un clique droit et tu clique sur 'AJOUTER CHAMPS', et tu peux selectionner les champs de ta BD qui t'intéresse.
 
CE que je veux c'est faire cela dans ma procedure, sélectionner 'ELENOM' pour que ma DBGRID l'affiche.
 
Merci


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

Marsh Posté le 23-01-2004 à 22:59:41    

je sais pas, j'utilise pas ces trucs automatiques [:spamafote]
 
Y a pas un .add quelque part plutôt que le .create dont tu avais parlé ?


Message édité par antp le 23-01-2004 à 23:00:02

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 24-01-2004 à 09:07:06    

tien un truc bizarre avec la commande ADOTABLE.getINDEXNames
Je fais  
 
ADOTABLE.GetIndexNames(Listbox1.items);
 
Et bien dans ma table j'ai une cinquantaine de champs, et pourtant dans la listbox il n'en apparâit que 4 !!!
En plus ce ne sont pas les 4 premiers !
C'est tjs les mêmes mais je ne comprends pas pourquoi il selectionne cela et pas les autres !


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

Marsh Posté le 24-01-2004 à 09:07:06   

Reply

Marsh Posté le 24-01-2004 à 20:20:06    

Ce sont les index je suppose (vu le nom de la fonction)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 24-01-2004 à 21:11:31    

il y a une différence entre champs et index ?


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

Marsh Posté le 24-01-2004 à 21:27:56    

oui
un index est posé sur les champs qui sont souvent utilisés dans les requêtes par exemple.
Donc on n'a pas spécialement des index sur tous les champs.
Il doit bien y avoir une fonction pour lister les champs, mais je ne peux pas t'aider plus : je ne connais pas ça par c?ur et l'aide de Delphi ne veut pas m'afficher les rubriques concernant les TADOxxxx :/


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 25-01-2004 à 09:16:33    

merci


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

Sujets relatifs:

Leave a Replay

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