Création d'une chaine de connection à une BD ? [DELPHI] - Delphi/Pascal - Programmation
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.
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!
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
Marsh Posté le 23-01-2004 à 20:38:12
oups !!!
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
Marsh Posté le 23-01-2004 à 21:57:36
ADOTableFELE.FieldByName('ELENOM').AsString := 'une valeur'
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
Marsh Posté le 23-01-2004 à 22:59:41
je sais pas, j'utilise pas ces trucs automatiques
Y a pas un .add quelque part plutôt que le .create dont tu avais parlé ?
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 !
Marsh Posté le 24-01-2004 à 20:20:06
Ce sont les index je suppose (vu le nom de la fonction)
Marsh Posté le 24-01-2004 à 21:11:31
il y a une différence entre champs et index ?
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
Marsh Posté le 25-01-2004 à 09:16:33
Reply
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