Utiliser Sqlite
Rédigé par spheris
Aucun commentaire
Classé dans : apprentisssage, base de donnees, gambas 2
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
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)
Vous êtes devant fmain, Maintenant nous pouvons commencer.Posez 4 boutons sur le FORM Fmain .
INFORMATION : lacreation d 'une base de donnée se decompose en trois etapes quisont:
- Création du fichier (assimilé dans cet exemple au bouton 1)
- Création d 'une table a l 'interieur(assimilé dans cet exempleau bouton 2)
- Création de champs dans la table(assimilé dans cet exemple aubouton 3)
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
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
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
-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
ensuite créons un nouveau formulaire nommé form1
PUBLIC SUB Button4_click()Form1.showEND
rien de plus simple!
Maintenant nous allons nous intéresser au form1 :
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
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.
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