Aller au contenu

Gambas 3/SmallDemoWithSQLiteDatabase

Un livre de Wikilivres.

Projet Gambas avec un accès à une base de données

[modifier | modifier le wikicode]

Création de la base de données avec l'IDE

[modifier | modifier le wikicode]

Avec l'EDI Gambas, créez un nouveau projet de type console !

Puis importez les modules permettant d'utiliser les bases de données sglite :

  • Cliquez dans le menu Projet et après sur
  • Propriétés !
  • Activez l'onglet "Composants" puis
  • Cherchez et cochez "gb.db" qui est le composant général pour les bases de données !
  • Cherchez et activez "gb.db.sqlite3" qui est le driver spécifique pour sqlite !
  • OK

Après, créez la base avec l'assistant :

  • Faites un clic-droit sur "Connexions" dans le volet de gauche puis
  • Cliquez sur "Nouvelle connexion" !
  • Tapez le nom "myBlogConnection" !
  • Sélectionnez le type "SQLite" !
  • Sélectionnez votre dossier personnel comme emplacement /home/votreUser et
  • Donnez le nom "monblog" à la base de données !
  • Cliquez sur le petit bouton à droite du texte "monblog" ressemblant à une liste et
  • Cliquez sur "Créer la base de données << monblog >>" !
  • OK

Incroyable, avec Gambas, c'est aussi facile que cela !

Vous avez vu. Il y a un nouvel onglet, une nouvelle connexion dans les Connexions.

Vous allez ajouter deux tables. Suivez le guide !

  • Cliquez sur Nouvelle table !
  • Nommez-la "billet" !

Faites la même chose pour la table "commentaire" !

Vous avez remarqué que Gambas ajoute un champ id automatiquement.

Dans la table commentaire, ajoutez maintenant les champs suivants :

  • date - Date
  • auteur - Chaîne 128
  • contenu - Chaîne 255
  • billet_id - Entier

et Enregistrez avec le bouton sous le symbole cylindrique représentant la base de donnée.

Dans la table billet, ajoutez les champs suivants :

  • date - Date
  • titre - Chaîne 128
  • contenu - Chaîne 255

Ajoutez des indexes pour éviter la saisie de doublons :

  • Pour chaque table, sélectionnez l'onglet "Index" et
  • Cliquez sur Nouvel Index !

Le point important étant de mettre Unique=True et Champ=Id !

Attention : pour la table commentaire, ajoutez un index supplémentaire nommé "billet_commentaire_Index", avec Unique=False, Champ=billet_id !

Ajoutez quelques données pour tester par exemple :

Dans la table billet :

1  08/03/2018 00:00:00  Premier billet  Bonjour à tout le monde :-)

Dans la table commentaire :

1  08/03/2018 22:22:22  guest  Cool  1

Nos préparatifs sont terminés.

Utilisation de la base de données dans l'application

[modifier | modifier le wikicode]

Affichez le module MMain et supprimez le code par défaut ! Puis copiez et collez ce code :

' Gambas module file

Public Sub Main()

  Dim $con As Connection
  Dim $result As Result
  
  $con = New Connection
  Try $con.Close()        
  $con.Type = "sqlite3"     
  $con.Host = "/home/" & User.Name
  $con.Name = "monblog"       
  Try $con.Open()             

  If $con.Opened Then 
    Print "La connexion est démarrée. "
    $result = db.Find("billet", "id=1")
    If $result.Available Then
      Print "Voici un enregistrement : "
      $result.MoveFirst
      Print $result!titre
      Print $result!contenu
    Endif 
    $con.Close()
  Else
    Print "Erreur. La connexion n'a pas"
    Print " pu être établie ... "
    Print " Le fichier existe-il ? "
  Endif
  
End

Le code ouvre une connexion, atteint un enregistrement/ligne et affiche les valeurs pour chaque champ/colonne. Après usage, le code referme la connexion.

Vous pourrez aussi utiliser MySQL, MariaDB, PostgreSQL et d'autres SGBDR selon vos besoins.