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
re,
Cela n'empêche, une seule base peut suffire (dans le cas de Firebird en tout cas) et ce même si l'on peut faire des requêtes entre bases de données)
la réponse Firebird à cette question est une gestion des droits utilisateurs (ROLE) et la création de vues VIEWPour L'asso, le statut servira à gérer des droits d'accès justement à la Base de données. Une secrétaire de l'association ne pourra pas accéder à toutes mes fiches clients mais aux adhérents seulement...
il est bien évident que je n'ai fait que montrer qu'une toute petite partie émergée des possibilités des SGBDR
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
Décidément, je suis pas très doué pour les Bases de données
Si je mets ça dans la procédure de la création de forme il ne reconnait pas le code.SergioMaster
Code SQL :
/********************* ROLES **********************/
CREATE ROLE RDB$ADMIN;
/********************* UDFS ***********************/
/****************** GENERATORS ********************/
CREATE GENERATOR GEN_STAGES_PERS_ID;
CREATE GENERATOR GEN_STATUT_PERS_ID;
...
C'est bien là mon problème, tous les exemples montrent des codes, mais je n'arrive pas à savoir dans quel Bloc il faut insérer ce code.
Je regrette ce temps ou Delphi éditait une doc papier avec des exemples pour créer pas à pas!
Même dans les exemples donnés de Delphi 10, ils considèrent que la table est créee.
Si je ne peux pas créer ma structure dans Delphi, je laisse tomber MySql. Car je n'arrive pas à me connecter sur leur serveur...
J'ai ajouté mysql.dll dans le répertoire source et dans le répertoire où il y a l'Exe, mais rien n'y faut...
Où bien est-ce que ce code, il faut le mettre dans un fichier Inc comme des constantes?
Je vais essayer cette solution, j'espère que je vais pouvoir ajouter ou supprimer des éléments des tables par programme...mais pour répondre à la question est-ce faisable avec Firedac : Oui, en FMX et en utilisant les Livebindings (obligé) Oui
je souffre, mdr
Une fois que j'arriverai à créer mes tables, je mettrai résolu à ce post!
Je programme en Lazarus 3.2.2 sous windows 10 pro
Bonsoir,
Le script fourni est pour Firebird pas MySQL, il n'est pas fait pour être insérer tel quel dans un FDScript je l'ai pris directement d'un outil pour Firebird, un petit GUI léger nommé Flamerobin.
Etapes à suivre :
Télécharger et installer Firebird SQL (server+client) et en tant que service attention à la version 32 bits à cause de : Windows 7 familial 32 bits attention au mot de passe
Télécharger et installer FlameRobin attention leur dernière version me semble buggée prendre plutôt la 9.0.2
Lancer flamerobin, configurer le serveur (localhost) et créer une nouvelle base ici attention au jeu de caractère (je conseille win1252)
(normalement il faudrait d'abord se connecter à une base existante comme employee créer des utilisateurs, puis se déconnecter comme SYSDBA et se connecter avec un utilisateur existant pour que celui-ci devienne propriétaire de la base) pour ces démarches rendez-vous sur le forum Firebird
Maintenant, je peux toujours fournir un backup du petit essai que j'ai créé modifiable par la suite avec flamerobin
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
Merci SergioTélécharger et installer Firebird SQL (server+client) et en tant que service attention à la version 32 bits à cause de : Windows 7 familial 32 bits attention au mot de passe
J'ai regardé tout en anglais et avec des versions, bugs etc... Trop compliqué pour moi...
Je vais regarder le code de Charly910 qui travaille avec SQLite car son exemple comprends un tas de fonctions de base dans son code (une aide précieuse...).
Sinon, me reste à étudier l'autre solution que tu proposes dans ton exemple précédent avec Firedac, FMX et en utilisant les Livebindings.
Une fois que j'aurais adopté une solution (Composants et méthode), je vais commencer mon projet. Pour l'instant je suis dans le brouillard qui se dissipe un tout petit peu...
à Charly910
J'ai téléchargé ton exemple, il me plait bien
Pas besoin d'utiliser d'autres installations ou composants...
Ma question est toujours la même, j'ai l'impression d'être un gogol!
Est-ce tu as créée tes tables par programme ou bien avec un autre logiciel... J'aimerai bien l'écrire par programme en utilisant un script comme tu l'as fait dans ton exemple?
Merci pour votre patience...
Je programme en Lazarus 3.2.2 sous windows 10 pro
Mon Choix
ça y est j'ai choisi les supports logiciels:
1: Développement de mon application : Delphi 10.3 Community Edition (gratuit)
2: Composants Delphi natifs: FireDAC, LiveBindings...
3: Création de la Base de données : SQLite avec SQLiteStudio (gratuit) et pas compliqué
Comme j'ai pas mal galéré, je réalise parallèlement un petit tutoriel pour les nuls comme moi en BD que je pourrais donner sur ce site accompagné de mon application
Dès que j'ai vérifié un minimum de code pour gérer les données, je valide mon choix en mettant résolu
Si j'ai d'autres questions, je ferai alors un autre post pour des questions précises.
Merci à tous pour votre aide
Je programme en Lazarus 3.2.2 sous windows 10 pro
Bonjour,
SQLite est un bon choix mais tes demandes de sécurité par utilisateur ne pourront être respectées.
évidemment si Shakespeare fait de la résistance, ça risque de coincer . Les bugs depuis maintenant presque 15 ans que j'utilise Firebird je n'en ai trouvé que très peu et généralement ils venaient de ma méconnaissance (mauvais choix de set de caractères, ou de dialecte SQL du début de projet)J'ai regardé tout en anglais et avec des versions, bugs etc...
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 Jlmat,
comme je te l'ai dit, j'ai créé ma base de données avec SqLite Studio téléchargeable gratuitement sur le net (sur les conseils de SergioMaster)
Ce logiciel est très simple d'emploi et suffisant pour moi.
A+
Charly
PS : lien SqLite Studio
Re PS : j'arrive après la bagarre
Mon site : http://lapaille.byethost24.com/index.htm
A Sergio
Bon, je vois que je n'ai pas encore tous les outils, j'enlève le Résolu alors!SQLite est un bon choix mais tes demandes de sécurité par utilisateur ne pourront être respectées
Il me faut régler ce problème d'accès utilisateur même si c'est pas urgent pour l'instant dans ma phase alpha, Bêta...
ça me surprend ce que tu dis, j'interdis d'entrée l'utilisation de la base de donnée si la personne n'est pas habilitée
ou bien
je créer des conditions de lecture et de non modification ou lecture par des filtres en fonction de l'utilisateur.
En fait Ma deuxième Base de données va chercher les infos sur les personnes qui sont dans ma Base de Donnée pro. Je peux éventuellement exporter les personnes uniquement adhérentes dans ce cas qui correspond aux critères et je n'affiche que ces personnes pour l'utilisateur de l'association qui a une habilitation...
...
De plus, j'ai vu que SQlite crytait ses données. Bon, c'est pas un fichier secret défense que je fais... Je vois pas le problème, je suis encore gogol en SGBD!
...
Je viens de trouver cela sur l'aide :
http://docwiki.embarcadero.com/RADSt...e_avec_FireDAC
On y parle de mots de passe d'une base de donnée cryptée! peut-être une piste!
Firebird, ben, on verra... Je suis pas un pro, je cherche à faire court et me faire plaisir en même temps!
Charly910 ça y est, j'ai créé ma première table avec SqLite Studio et je travaille sur ton source entre autre... J'ai vu que n'avais pas écrit de procédure d'ajout de données par code, je veux le faire...
QuestionTiens au passage, comment tester si une table est vide?
Merci les amis delphistes!
Je vais cogiter en créant ma deuxième table et en gérant les accès...
Je programme en Lazarus 3.2.2 sous windows 10 pro
d'où ma remarque
...En fait Ma deuxième Base de données va chercher les infos sur les personnes qui sont dans ma Base de Donnée pro. Je peux éventuellement exporter les personnes uniquement adhérentes dans ce cas qui correspond aux critères et je n'affiche que ces personnes pour l'utilisateur de l'association qui a une habilitation...
dès que me parle d'exporter, ça me fait tiquer, déjà le 2 bases de données le faisait !
ce qu'implique l'export : en premier lieu une synchronisation des deux bases (pas évident) une gestion des accès
oui mais non, il y a un seul mot de passe pour la base pas d'utilisateur et ces deux fonctions sont assurées par Firedac, il existe effectivement un moyen de crypté une base SQLite c'est un addon payantj'ai vu que SQlite cryptait ses données.
On y parle de mots de passe d'une base de donnée cryptée! peut-être une piste!
ce n'est pas beaucoup plus compliqué que SQLite après tout c'est du SQL normaliséFirebird, ben, on verra... Je suis pas un pro, je cherche à faire court et me faire plaisir en même temps!
En fait il faut surtout bien lire ce pour quoi SQLite n'est pas fait
plusieurs solutions par requêteQuestionTiens au passage, comment tester si une table est vide?
qui renverra un 0SELECT COUNT(1) FROM TABLE
en ouvrant un fdTable et en demandant if FDtable1.RecordCount=0 then showmessage('Table vide');
etc...
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
Merci Sergio pour tes réponses...
Pétard! Je sais pas quand je vais pouvoir commencer ma Base de Donnée!
Bon, on va essayer de faire les choses dans l'ordre, J'installe Firebird... à partir de ce site: "https://www.firebirdsql.org/en/firebird-3-0-4/"
Lors de l'installation, il y a un tas d'options que je ce comprends pas.
Question 1 : Peux-tu me dire les options que tu me conseilles de cocher?
Question 2 : Je pense qu'il doit y avoir une Dll à installer dans le fichier des sources de mon projet comme pour SQlite. Si ce n'est pas le cas, procedure à suivre?
Je programme en Lazarus 3.2.2 sous windows 10 pro
Bonjour,
1 - ces options par défaut c'est paarfait
2- non pas de dll elles sont déjà installées (l'option copie dans le répertoire système)
par contre, quand tu vas déployer sur un autre poste "client" tu ne mettras bien sûr que la bibliothèque cliente lors de l'installation
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