Utiliser Sqlite

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, base de donnees, gambas 2 Mots clés : aucun
interfacer gambasavec Sqlite3

Bonjour, à tous,
Aujourd 'hui nous allons nous intéresser à gambas et Sqlite.
Nous allons voir comment interfacer gambas avec une base de donnéessqlite.
Remarque : il faut savoir que sqlite.gb a été installé avec vospaquets gambas.

A) Le projet

width=

Démarrer l 'IDE de gambas,
Ensuite, Il vous faut créer un projet nommé essaibdd.

n 'oubliez pas de cocher la case accès aux base de données. (ce quise traduit par l 'importation du composant qui gère les bases dedonnées)

width=

Vous êtes devant fmain, Maintenant nous pouvons commencer.Posez 4 boutons sur le FORM Fmain .

width=



INFORMATION : lacreation d 'une base de donnée se decompose en trois etapes quisont:

  1. Création du fichier (assimilé dans cet exemple au bouton 1)
  2. Création d 'une table a l 'interieur(assimilé dans cet exempleau bouton 2)
  3. Création de champs dans la table(assimilé dans cet exemple aubouton 3)


Voir illustration PDF ICI

La table et les champs étant ainsi créés ,après, nous pouvonsajouter les données

Remarque : un fichier peut contenir plusieurs tables.


B) Création de la base de donnees Sqlite nommée nombase.sq3
Cette etape ne sera a réaliser qu 'une fois. La base n 'a besoind 'etre créée qu 'une fois.
definissons d 'abord des variables tout en haut de Fmain :

PUBLIC maconnexion AS NEW ConnectionPUBLIC matable AS TablePUBLIC monresultat AS Result


créez un bouton button1 et entrez ce code dans l 'evenement Button1_click :

PUBLIC SUB Button1_Click() '  'creation bdd sqlite '  'definition de la connexionmaconnexion.Type = Lower( sqlite3 )  'type de bddmaconnexion.Host = User.Home  'chemin dacces de la bddmaconnexion.Name =     'nom de la bdd que nous voulons utilisermaconnexion.Login =     'login pour se connecter a la basemaconnexion.Password =     ' mdp pour connecter a la basemaconnexion.Port =     ' port si bdd en reseau 'ouvre la connexion a la bdd sqlitemaconnexion.Open() 'creer une base sqlitemaconnexion.Databases.Add( nombase.sq3 )WAIT 0.5  'attend une demi seconde ' fermer la basemaconnexion.Close()END



Remarque : nous avons fermé la base une fois crée. Nous allonsmaintenant la ré-ouvrir pour créer un tableau ou plutôt une table .

Ré-ouvrons la et poursuivons avec ceci :

 ' ouvrir la nouvelle basemaconnexion.Host = Application.Pathmaconnexion.Name =  nombase.sq3 maconnexion.Open()END


Notre base de données existe à présent , nous pouvons creer untableau nommé unetable :
Pour se faire, créons un nouveau bouton button2 et mettonsce code dans l 'evenement click :

PUBLIC SUB Button2_Click() 'creation dune table dans la nouvelle bdd nombase.sq3matable = maconnexion.Tables.Add( unetable )END

3 ème étape, créons trois champs dans notre table unetable qui seront par exemple :

-ID
-nom
-prenom

Créeons un bouton 3 nommé button3 et ajoutons ceci dansl 'evenement click :

PUBLIC SUB Button3_Click() 'creation de deux champs type string dans la nouvelle tablematable.Fields.Add( id , db.Serial)matable.Fields.Add( nom , db.String, 0)matable.Fields.Add( prenom , db.String, 0)matable.PrimaryKey = [ id ]matable.Update()  'mise a jour de la tableEND


Voila ! notre bdd est créée.

Information : Nous aurions pu créer notrebase de données avec l 'excellent logiciel sqlite présent dansles dépôts de votre linux préféré.
Il simplifie grandement la création, l 'accès, l 'édition desbases sqlite.


C) Utiliser la base de données

Nous allons creer un bouton nommé button4 dans le formulairefmain qui va nous servir à ouvrir une autre fenêtre FORM1

width=

ensuite créons un nouveau formulaire nommé form1



bdd5.png
dans l 'evenement click de button4 nous allons ouvrir le form1 par

PUBLIC SUB Button4_click()Form1.showEND


rien de plus simple!

Maintenant nous allons nous intéresser au form1 :

width=


Créons un datasource1 (present dans les widgets si la caseacces aux bdd avait été cochée au debut)
dans la propriété table , ecrire : unetable

width=

maintenant dans notre datasource nous allons creer un databrowser1
Nous allons éditer la proprieté Columnsen ajoutant 3 colonnes qui sont respectivements :

  • id
  • nom
  • prenom

Maintenant toujours dans notre datasource1 qui est notrecontainer, nous allons mettre des datacontrol1 , 2 ,3qui sont des genres de textbox adapté pour les bdd
Dans la propriété Field(champs en francais), nous allons ecrirerespectivement id pour le datacontrol1, nom pour le 2 etprenom pour le 3

Ca y est nous sommes fin prêt :

Cliquons sur executer et cliquons sur :

button1 : creation fichier
button2 : creation table
button3 : creation champ dans la table
button4 : edition des données dans la table


saisissons des donnes dans les datacontrol 2 et 3 'le 1er est grisé,normal c 'est un compteur !)

voila pour aujourd 'hui.
TELECHARGER LES SOURCES ICI

Remarque : il est evident que laprochaine fois qu 'on lance l 'appli il ne faut pas recréer labase mais l 'ouvrir simplement en redéfinissant ce que j 'aiappelé dans le code definition de laconnexion

Dans un prochain tuto, je vais vous expliquer clairement commentajouter, éditer, ou supprimer des données de la base sqlite. Vousverrez, c 'est vraiment simple sous gambas. Un langage facile etrapide à apprendre.


A bientôt