Bonjour, je débute avec Delphi, j'ai déjà une base sous Firebird, je voudrais savoir comment s'y connecter avec Delphi 6 ?
Je ne trouve rien à ce sujet.
Bonjour, je débute avec Delphi, j'ai déjà une base sous Firebird, je voudrais savoir comment s'y connecter avec Delphi 6 ?
Je ne trouve rien à ce sujet.
c'est les mêmes outils que pour se connecter à Interbase, IBQuery en l'occurence
--- Sevyc64 ---
Parce que le partage est notre force, la connaissance sera notre victoire
Bonjour,
on peut bien sûr utiliser le BDE et donc sa palette mais c'est une option à éviter (BDE étant obsolète)
on peut aussi utiliser les composants de la palette Interbase Express à condition d'avoir généré la GDS32.DLL au moment de l'installation de Firebird (une copie de fbclient.dll en la renommant et ce dans les bons répertoires système)
une autre solution consiste à installer des composants tiers.
Pour ne citer qu'un freeware avec source je parlerai des composants ZEOSDBO , inconvénient les dernières versions ne prennent en compte que D7 et plus, donc il faudra certainement se contenter de version plus ancienne (soit la 6.6 dont voici l'adresse en SVN le package se trouve également ici mais peut être pas à jour contrairement à la SVN
A mon avis c'est le meilleur choix permettant plus tard d'évoluer vers des versions de Delphi plus récentes en ayant pris des bonnes habitudes d'utilisation (les ZEOSDBO ressemblent beaucoup à Firedac)
début de tutoriel , voir mon blog ce qui me fait penser qu'il faut que je le mette à jour
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Je débute complètement et je ne vois rien concernant la connexion à une base de données dans Delphi 6 (edition personnel), ci-dessous une copie d'écran.
Auriez-vous un tutoriel Delphi6 / Firebird / IbQuery.
C'est quoi BDE ? J'ai ce fameux fichier GDS32.DLL dans le repertoire system32 mais qu'en faire ? Comment installer un composant tiers ?
Pour l'appli que je dois réaliser je ne dois pas utiliser d'objets de types TTable ou de type DBE. Comment alors se connecter à une base ?
il fallait préciser qu'il s'agissait d'une version personnelle du coup je ne sais pas s'il est possible d'installer des composants avec cette version
de plus cette version n'a aucun composants de connexion aux base de données donc pas de Borland Database Engine ni de Interbase Express
Tutoriel IBQuery non mais je pense qu'il y en a dans le rubrique tutoriel de Delphi (en fait ici il y en a un )Comment installer un composant tiers ?
Auriez-vous un tutoriel Delphi6 / Firebird / IbQuery.
pour installer les composants tiers même chose , rechercher dans http://delphi.developpez.com/cours/
(pour ce qui est de ZEOSDBO la démarche est indiquée dans mon début de tutoriel déjà cité)
cependant le fait que ce soit un Delphi Perso risque de poser de nombreuses difficultés ! dailleurs dans ce cas là pourquoi ne pas plutôt utiliser D7
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Bon apparemment la version personal edition de delphi 6 ne permet de se connecter à une base de donnée. Je vais donc me tourner vers la version d'évaluation 30 jours de XE8.
Je réoriente donc ma question comment se connecter à une base de données Firebird avec XE8 sans utiliser de composant type BDE ou TTable ?
Alors là , y a pas photo utilises les composants Firedac
tu auras besoin de déposer
1 FDConnection
DriverName = FB
1 FDGuixWaitCursor
1 FDPhysFBDriverLink
1 ou 2 FDTransactions (une pour la lecture l'autre pour les mises à jour)
des FDquerys , FDTables etc... pour les données
[Edit] pour vérification, j'ai tenté d'installer une version de ZEOSDBO avec le D6 perso proposé dans [TELECHARGEZ] cela à l'air de fonctionner
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
OK, j'arrive bien à afficher une liste de données dans une TDBGrid avec les composants FireDac, parfait. Cela valide le fait que je communique bien avec ma base.
Problème, l'autre contrainte c'est que je ne dois pas utiliser de composant de type TDBGrid qui sont lié à un FDTable, il faut que j'utilise TGridPanel basique que j'alimente avec une requête que j'aurai écrite à la main.
Comment je fais ça tous les tutos que je trouve me propose des TDBGrid ou équivalent ?
Pourquoi ne pas alimenter un DBGrid avec un FDQuery ?
et si on avait une image pour se rendre compte de ce qui est voulu ?
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Je n'ai pas de contraintes d'affichage mais il faut que les requêtes SQL qui alimente la Tgrid, les TComboBox et les TEdit soient visibles dans le code source.
Je cherche des tutos qui font ça.
Bon, j'ai du mal à comprendre le TGrid (pour moi il n'y a que TStringGrid et TDBGrid)
quant à mettre les SQL dans le code source afin qu'ils soient visibles rien de plus simple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 FDQuery.Close; FDQuery.SQL.Text:='SELECT * FROM TABLEA WHERE CHAMP1=VALEUR'; ou encore FDQuery.SQL.Clear; FDQuery.SQL.Add('SELECT * FROM TABLEA'); FDQuery.SQL.Add('WHERE CHAMP1=VALEUR'); // ce qui serait encore mieux avec utilisation de paramètres .... FDQuery.Open;
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
OK super c'est ça que je voulais.
J'ai fait glisser un objet TFDQuery dans mon Form1 mais est-ce que j'aurais pu le créé directement dans le code au moment ou j'en ai besoin et comment ? De même pour la DataSource.
Sinon je suis obligé de cliquer sur le bouton "alimenter deposant" pour alimenter la combobox, comment le faire au chargement de la fenêtre ?
Dans la grid (TDBGrid) je filtre par déposant (DEPXART) quand je clique le bouton "filtrer par déposant". Voici le code que j'ai écrit :
Est-ce que c'est bien comme ça qu'il faut faire "DataSource1.DataSet := FDQuery1;" pour chnager le contenu de la grid sachant que celle-ci est lié au DataSource1 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 begin selDep := deposantsCombo.Items[deposantsCombo.ItemIndex]; depSelTxt.Caption := selDep; FDQuery1.SQL.Clear; FDQuery1.SQL.Text := 'SELECT * FROM ARTXRES WHERE DEPXART= :codeDep'; FDQuery1.ParamByName('codeDep').AsString := selDep; FDQuery1.Open; DataSource1.DataSet := FDQuery1; end;
Il paraît qu'il faut gérer lé création et la destruction des objets. Dois-je faire un destroy de FDQuery1 à chaque fois puis la recréé si oui comment ?
bien sur , il s'agit de la création au runtime en voilà le principeest-ce que j'aurais pu le créé directement dans le code au moment ou j'en ai besoin et comment ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Procedure quelconque; var AQuery : TADQuery; begin AQuery:=TADQuery.Create(nil); try AQuery.Connection:=leFDConnexion; AQuery.SQL.Text:='SELECT * FROM UNETABLE' AQuery.Open; .... Traitement ..... AQuery.Close; finally AQuery.Free; (ou aussi FreeAndNil(AQuery)) end; end;plutôt qu'une combobox il est possible d'utiliser une DBLookupcombobox VCL (sans remplir datasource mais en indiquant bien la partie recherche) , au chargement de la fenêtre il suffit alors d'ouvrir un datasource lié à la query contenant les éléments de la partie comboboxSinon je suis obligé de cliquer sur le bouton "alimenter deposant" pour alimenter la combobox, comment le faire au chargement de la fenêtre ?
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Bonjour SergioMaster,
Pourrais-tu m'en dire un peu plus sur ta dernière réponse surtout sur la partie "au chargement de la fenêtre" c'est justement ça que je ne sais pas faire.
Et comment je fais pour ajouter des boutons ajouter / modifier / supprimer sur ma TDBgrid ?
Bonjour,
"Au chargement de la fenêtre" c'est souvent lors de l'évènement OnCreate ou OnActivate de celle-ci
à chaque ligne de la DBGrid ? c'est rarement voire pas utile , un DBNavigator (ou plus, avec plus ou moins de boutons visibles) avec lié au même datasource (en bas ou en haut de la grille) suffit.Et comment je fais pour ajouter des boutons ajouter / modifier / supprimer sur ma TDBgrid ?
Note : Pas besoin de bouton "Filtrer ..." l'évènement OnCloseUp du combobox peut faire la même chose
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
OK je te remercie vraiment pour ton aide.
Je suis développeur web (JEE / PHP) à la base et dans une combobox on peut afficher une liste d'objet et on indique la valeur à afficher et la valeur à enregistrer, par exemple on affiche le nom et on sauvegarde le code. Comment fait-on ça en Delphi ?
utiliser plutôt une DBLookupcomboboxdans une combobox on peut afficher une liste d'objet et on indique la valeur à afficher et la valeur à enregistrer, par exemple on affiche le nom et on sauvegarde le code. Comment fait-on ça en Delphi ?
remplir les propriétés ListSource = un Datasource contenant "nom" et "code"
ListField = "nom"
KeyField= "code"
ce qui évite tout remplissage à faire du combobox
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager