IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Installation de MyLittlebase


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Août 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut Installation de MyLittlebase
    Bonjour,

    J'aimerais essayer MyLittlebase mais je ne sais pas l'installer.
    J'ai bien copié mlbc.pas, mlbc.dcr et mlb2.pas dans le dossier lib de delphi mais ensuite je ne peux pas installer de nouveau composant.
    Ai-je raté quelquechose ?

    Merci beaucoup

    -------------------------------------
    Débutant - Utilise Turbo Delphi Explorer win32

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Citation Envoyé par phobik Voir le message
    Ai-je raté quelquechose ?
    -------------------------------------
    Débutant - Utilise Turbo Delphi Explorer win32
    Oui (sans vouloir te vexer )

    1/
    Citation Envoyé par Install.txt
    2- Register the component mlbc.pas by using the install component menu of delphi.
    mais
    2/ Turbo Delphi Explorer ne permet pas d'ajouter de nouveaux composants

    Donc, il faut travailler comme l'indique le site MyLittleBase:
    Using MylittleBase Database is quite simple,
    just declare un object as variable,
    for example in Delphi: then you can load a database from a file (csv for example):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mlb.LoadFromFile('myfile.csv');
    Et déclarer l'unité mlb2 dans le uses...

    En fait, et de mémoire, l'install du composant n'apporte que peu de plus-value : juste mlb2 qui arrive dans le uses quand on drop le compo sur la form.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Août 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Aucun risque de me vexer

    En effet ça "marche" sans installer de nouveau composant.
    Malheureusement je ne vois pas bien par quel bout commencer ne serait-ce que pour créer une table.
    J'ai encore beaucoup à apprendre...

    Merci quand même

  4. #4
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    1 table = 1 fichier avec comme séparateur le point-virgule pour isoler chaque colonne.

    Le fichier peut être créer sous notepad.

    Le fichier comporte:
    - en ligne 1 la liste des colonnes
    - en ligne 2 et suivantes les données
    Citation Envoyé par Exemple
    Num SS;Nom;Prénom;N° et voie;Batiment;Code postal;Ville;TelDomicile;TelBureau;Portable;Lien
    1601178018125;LEBOEUF;Jean;15 rue du pont;;54750;TRIEUX;0662010203;;;Soeur/frère
    1750125025025;BOSTON;Jeanne;103 rue de la souche;;57200;SARREGUEMINES;;;0674030405;Conjoint
    NB: ces données sont fictives

    Le fichier peut aussi être créer par code :
    méthode AddField (de mémoire) avant de le sauvegarder

    Mettre des données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var DBouv:TMlb2;
         DBouv:= TMlb2.Create;
         DBouv.Init;
         DBouv.LoadFromFile(DirData+'\CAT_OUV.CSV');
         DBouv.AddRow;
         DBouv.SetData('Num SS',Edit1.Text);
         ...
         DBouv.SaveToFile(DirData+'\CAT_OUV.CSV');
         DBouv.Free;
    Pour lire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for i:=1 to dbOUV.RowCount do begin
             dbOUV.Go(i);
             if dbOUV.GetData('Num SS')=Edit1.Text then begin
                Erreur('Ce n° SS existe déjà.');
                DBouv.Free;
                Edit1.SetFocus;
                Exit;
             end;
    Mais tout ceci est indiqué dans la doc
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Août 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par qi130 Voir le message
    Mais tout ceci est indiqué dans la doc
    oui je sais... Malheureusement la doc est en anglais.
    J'ai donc commencé à la traduire mais même traduit ça a des airs de chinois pour moi
    Qu'à cela ne tienne, je vais continuer à tester.
    Merci pour ton exemple de code qi130 . Je m'en suis inspiré pour essayer de faire une petite application test, genre créer une base avec une table et pouvoir la remplir et/ou la modifier.
    Le hic c'est que... ça ne marche pas
    patience, persévérance !

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Août 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    J'ai traduit la doc de MyLittleBase et j'ai réussi à l'utiliser à peu près correctement, création, modifications de tables csv etc...
    Existe-t-il un moyen de visualiser ces tables csv sur l'application et d'agir sur elles, comme avec une DBGrid ?
    (je rappelle que j'ai une version personnal de turbo delphi)

    Merci beaucoup

  7. #7
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Tu peux utiliser un TStringGrid (composant natif), ou tout autre composant grille "externe" (en le définissant complètement par code).

    Puis, soit un menu contextuel sur ce grid pour ajouter/supprimer une ligne (F2 sur une cellule pour l'éditer), soit autant de TEdit que de colonnes à partir desquels tu gères l'ajout, la modif et la suppression par le biais de boutons dédiés (1 par action).
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Août 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    OK merci.
    J'aimerais juste un dernier conseil, ensuite j'essaierai de me débrouiller au maximum avec les tutos :
    Pour une application visant à gérer du prêt de matériel avec 4 tables (2000 à 3000 enregistrements au total), avec modification des tables en visuel par clics (par ex : je clique sur un nom d'emprunteur, puis je clique sur un nom d'objet pour le mettre comme prêté à l'emprunteur, etc...), est-ce que MyLittleBase est vraiment valable ou dois-je plutôt me tourner vers Firebird (embedded ou non) qui serait une solution plus simple et plus adaptée ?

    Merci d'avance

  9. #9
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    L'avantage d'un SGBD dans ce cas de figure est de décharger la partie code d'un certain nombre de tâches comme
    -le contrôle d'intégrité:on ne peut prêter qu'à un emprunteur enregistré
    -on ne peut emprunter qq chose qui est déjà prêté
    -les jointures: qui a emprunté telle chose


    Avec MyLittleBase, ça reste faisable, mais par programmation uniquement.

    Il y a plusieurs années, j'avais écrit 1 appli travaillant avec une vingtaine de tables MyLittleBase. Elle tournait bien, mais à chaque fois qu'il fallait rajouter 1 table avec liaison, ça tournait au cauchemar: le soft s'épaissit de manière exponentielle rien que pour gérer la cohérence inter-table.
    Et puis est venu le temps de mettre l'appli en réseau et la galère pour gérer un semblant de LOCK (puisqu'on ré-écrit tout le fichier lors du save)...
    Du coup, je me suis dépèché de migrer sous Interbase, et la taille du soft à diminuée de 50% tout en étant plus fiable et moins coûteux à tester.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Août 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    C'est bien noté !
    Malgré mes pauvres connaissances, c'est bien l'impression que j'avais, mais l'idée de travailler avec des csv, ce côté autonome me plaisait.
    Je vais donc me rabattre sur firebird.

    Merci qi130

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Kylix] [INSTALLATION] MylittleBase pour Kylix:delphi
    Par christophe D dans le forum EDI
    Réponses: 3
    Dernier message: 05/09/2003, 17h06
  2. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  3. Installer ses composants
    Par Geronimo dans le forum C++Builder
    Réponses: 14
    Dernier message: 18/06/2002, 14h51
  4. Réponses: 7
    Dernier message: 01/05/2002, 20h23
  5. [Kylix] Comment installer Kylix sur Mandrake 8.2 (page2)
    Par Philippe LE PONT dans le forum EDI
    Réponses: 3
    Dernier message: 01/05/2002, 12h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo