Page loading

Share your opinion
What do you think about gambaslinux.fr?
 
Interesting
It miss some informations
Excellent website
Results
WIDGETS GAMBAS
GAMBAS 3 SOFTWARES
TUTORIALS
Library
Database - Use Sqlite
French only form the moment...
interfacer gambas avec Sqlite3

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

A) Le projet



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 qui se traduit par l'importation du composant qui gère les bases de données)



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





INFORMATION : la creation d'une base de donnée se decompose en trois etapes qui sont:

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



La table et les champs étant ainsi créés ,après, nous pouvons ajouter 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 besoin d'etre créée qu'une fois.
definissons d'abord des variables tout en haut de Fmain :

PUBLIC maconnexion AS NEW Connection
PUBLIC matable AS Table
PUBLIC 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 connexion
maconnexion.Type = Lower("sqlite3") 'type de bdd
maconnexion.Host = User.Home 'chemin dacces de la bdd
maconnexion.Name = "" 'nom de la bdd que nous voulons utiliser
maconnexion.Login = "" 'login pour se connecter a la base
maconnexion.Password = "" ' mdp pour connecter a la base
maconnexion.Port = "" ' port si bdd en reseau
'ouvre la connexion a la bdd sqlite
maconnexion.Open()

'creer une base sqlite
maconnexion.Databases.Add("nombase.sq3")
WAIT 0.5 'attend une demi seconde
' fermer la base
maconnexion.Close()
END



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

Ré-ouvrons la et poursuivons avec ceci :

' ouvrir la nouvelle base
maconnexion.Host = Application.Path
maconnexion.Name = "nombase.sq3"
maconnexion.Open()
END


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

PUBLIC SUB Button2_Click()
'creation dune table dans la nouvelle bdd nombase.sq3
matable = 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 dans l'evenement click :

PUBLIC SUB Button3_Click()
'creation de deux champs type string dans la nouvelle table
matable.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 table
END


Voila ! notre bdd est créée.

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


C) Utiliser la base de données

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



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.show
END


rien de plus simple!

Maintenant nous allons nous intéresser au form1 :




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



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

  • id
  • nom
  • prenom

Maintenant toujours dans notre datasource1 qui est notre container, nous allons mettre des datacontrol1 , 2 ,3 qui sont des genres de textbox adapté pour les bdd
Dans la propriété Field(champs en francais), nous allons ecrire respectivement id pour le datacontrol1, nom pour le 2 et prenom 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 la prochaine fois qu'on lance l'appli il ne faut pas recréer la base mais l'ouvrir simplement en redéfinissant ce que j'ai appelé dans le code definition de la connexion

Dans un prochain tuto, je vais vous expliquer clairement comment ajouter, éditer, ou supprimer des données de la base sqlite. Vous verrez, c'est vraiment simple sous gambas. Un langage facile et rapide à apprendre.


A bientôt


Creation date : 05/06/2009 @ 21:41
Last update : 21/03/2022 @ 08:52
Category : Database
Page read 6538 times


Print the article Print the article


react.gifReactions to this article


Reaction #10 

by spheris 15/03/2011 @ 22:48

tout simplement en suivant ce tuto ici
wink

Reaction #9 

by masterrsi 15/03/2011 @ 22:27

salut !
et si je veux importer des fichiers .csv comment faire ça ??

Reaction #8 

by spheris 06/02/2011 @ 17:50

il vous suffit simpement de lancer votre gestionnaire de paquet(synaptic par exemple) et de rechercher le paquet gb.sqlite Après quoi vous pourrez utiliser le sql.
A bientôt
wink

Reaction #6 

by spheris 27/12/2010 @ 00:29

Caracole,
en fait, il est possible d'accéder à ta bdd lorsque celle ci est ouverte par maconexion.open().
Tu peux dès lors utiliser une gridview, une columview ou datasource ou autre pour visualiser tes données. Je t'invite à télécharger Freegmao dans la catégorie Bureautique qui regorge d'exemples d'utilisation de la bdd.
A bientôt. wink

Reaction #5 

by caracole 25/12/2010 @ 18:59

Je ne vois pas comment il y une relation entre la connexion de Fmain et les controles de Form1 a part le nom dde tables et des champs . comment est effectuée cette relation entre la table et la base de donnée ?

Reaction #4 

by itroler 02/04/2010 @ 10:45

Merci pour  ce brillant tuto, qui règle de main de maître mille petits détails qui  me bloquaient !

Reaction #3 

by jlouis 02/12/2009 @ 11:59

Un grand merci spheris5, j'ai enfin réussi à utiliser une base de donnée avec Gambas.

Bonne continuation...

Reaction #2 

by pinky 05/06/2009 @ 22:52

EXTRA ! wink

C'est très bien expliqué. Je teste ça dès que j'ai un moment.

Un grand merci.

Reaction #1 

by munu56 05/06/2009 @ 22:31

T'es le meilleur spheris5....

J'ai souvent bloqué sur les BDD avec gambas et là on peu dire que tu réponds à toutes mes questions sans même à avoir à les poser!!!!

Merci pour ce super tuto.


QUICK MENU
SEARCH




LANGUAGE
COMPONENTS
Other
LANGUAGE
Where, who?
VISITS

   visitors

   visitors online

ARCHIVES GAMBAS 1/2
^ Top ^