Gambas 3/SmallDemoWithSQLiteDatabase
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.