WIDGETS GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
VISITES

   visiteurs

   visiteurs en ligne

Où ça, qui ça?
Les Base de données - Utiliser Sqlite
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 gambas2.
1) MON PROJET

bdd1.png

Il fous faut créer un projet nommé essaibdd.

n'oubliez pas de cocher la case accès aux base de données.

bdd2.png

Vous etes devant fmain, Maintenant nous pouvons commencer.



bdd3.png



INFORMATION : la creation d'une base de donnée se decompose en trois etapes qui sont:
-creation du fichier (assimilé dans cet exemple au bouton 1)
-creation d'une table a l'interieur(assimilé dans cet exemple au bouton 2)
-creation de champs dans la table(assimilé dans cet exemple au bouton 3)


Apres nous pourrons ajouter les données

Remarque : un fichier peut contenir plusieurs tables.

allons y :
2) creation 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

creez un bouton button1 et entrez ce code dans l'evenement click :

PUBLIC SUB Button2_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 reouvrir pour creer un tableau ou plutôt une table .

reouvrons la et poursuivons avec ceci :

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

notre base existe a present , nous pouvons creer un tableau nommé "unetable":

creeons 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 eme etape, creons trois champs dans notre table "unetable" qui seront par exemple :
-ID
-nom
-prenom

creeons un bouton 3 nommé button3 et ajoutons ceci dans l'evenement click :

PUBLIC SUB Button4_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.

maintenant travaillons avec notre bdd

nous allons creer un  bouton nommé button4 dans le formulaire fmain.


ensuite creons 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 interesser au form1 :
 
bdd4.png



bdd6.png

Creons 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 editer 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 pret :

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 recreer la base mais l'ouvrir simplement en redefinissant ce que j'ai appelé dans le code definition de la connexion

A bientot

Date de création : 05/06/2009 @ 21:41
Dernière modification : 02/10/2009 @ 21:12
Catégorie : Les Base de données
Page lue 4537 fois


Imprimer l'article Imprimer l'article


react.gifRéactions à cet article


Réaction n°10 

par spheris le 15/03/2011 @ 22:48

tout simplement en suivant ce tuto ici
wink

Réaction n°9 

par masterrsi le 15/03/2011 @ 22:27

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

Réaction n°8 

par spheris le 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

Réaction n°6 

par spheris le 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

Réaction n°5 

par caracole le 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 ?

Réaction n°4 

par itroler le 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 !

Réaction n°3 

par jlouis le 02/12/2009 @ 11:59

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

Bonne continuation...

Réaction n°2 

par pinky le 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.

Réaction n°1 

par munu56 le 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.


ACCES RAPIDE
RECHERCHE




LOGICIELS GAMBAS 2
LES INSTRUCTIONS
LES COMPOSANTS
Divers

^ Haut ^