Gambas France BETA


Pas de compte ? Incription

Projet de traçabilité des actions

1
AuteurMessages
Woody18#1 Posté le 13/4/2011 à 20:05:00
Bonjour à tous,

Dans le cadre de mon appentrissage j'aimerai réaliser un programme permettant de tracer les actions. (J'utilise Gambas 2 sur linux).
Le fonctionnement de mon programme est le suivant :

-Connection est vérification des identifiants. (Les utilisateurs accédent à un formulaire à remplir, l'admnistrateur à un menu pour gérer les comptes utilisateurs).
-Et un mode pour exporter la BDD (création de backup).

Je mis connais un peu en visual basic mais pas trop en gambas que je découvre en ce moment même.

J'ai déjà commencé le programme et n'hésiterai pas à poster sur ce topic son avancement.

J'avais juste une question avant à vous poser :
- Sachant que je travail avec gambas sur linux et une base de données créer par l'admnistrateur(grâce au programme). Est ce possible de l'exporter pour le faire tourner sur windows sans avoir pour autant besoin d'installer quoi que soit... (Les pc sont restreint sur mon lieu de travail)


Merci par avance.
manu#2 Posté le 14/4/2011 à 07:12:00
Avec Gambas ca roule !Bonjour et bienvenu,

Concernant la base de données, il faut qu'elle soit installée sur Windows. La plupart de celles qu'utilise Gambas sont utilisable sous Windows : postgresql, MySql, sQlite .... Tu n'aura qu'a exporter ta BDD sur windows.

Concernant l'application gambas, pour la faire tourner tu n'as qu'une seule solution : c'est de la faire tournée dans une machine virtuelle installé sur ton poste windows avec ubuntu dedans ou autre linux dedans : Voir ICI.

Je suis pas sure que je réponde à ta question ! :)
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Woody18#3 Posté le 14/4/2011 à 16:51:00
Si, c'était belle est bien ma question ... mais ça ne m'enchante pas trop étant donné que l'installation de programme sur les pc de l'entreprise sont restreint aux administrateur ....

Dernière question sur le site j'ai suivi le tutoriel de création de base de donnée Sql .... Seulement voila :

1
[color=red]maconnexion.Type = Lower("sqlite3") 'type de bdd[/color]maconnexion.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()


Sur la ligne en rouge je reçois nune erreur d'objet = null

" Null object " <----------- expression exacte de l'erreur


Prokopy#4 Posté le 14/4/2011 à 17:39:00
Kinder PinguiSalut Woody,

As-tu pensé lors de la déclaration de ta connexion à l'instancier avec New comme ceci :

1
DIM maconnexion AS NEW Connection


C'est la cause la plus fréquente des erreurs "Null Object". :)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
Woody18#5 Posté le 14/4/2011 à 17:45:00
Salut,

Oui, je l'ai fais comme expliqué dans le tuto du site sur les BDD ..

Je vais poster un morceau de mon programme :

Dans la partie ""class:
1
' Gambas class filePUBLIC connexionbdd AS ConnectionPUBLIC table AS TablePUBLIC tables AS TablePUBLIC resultat AS Result


Dans la partie BT_click :
1
PUBLIC SUB BT_bdd_Click()' 'creation bdd sqlite' 'definition de la connexionconnexionbdd.Type = Lower("Sqlite3") 'type de bddconnexionbdd.Host = Application.Path 'chemin dacces de la bddconnexionbdd.Name = "bdd_saisie_dao" 'nom de la bdd que nous voulons utiliserconnexionbdd.Login = "root" 'login pour se connecter a la baseconnexionbdd.Password = "superadmin" ' mdp pour connecter a la baseconnexionbdd.Port = "" ' port si bdd en reseau'ouvre la connexion a la bdd sqliteconnexionbdd.Open()'creer une base sqliteconnexionbdd.Databases.Add("bdd_saisie_dao.sq3")WAIT 0.5 'attend une demi seconde' fermer la baseconnexionbdd.Close()' ouvrir la nouvelle baseconnexionbdd.Host = Application.Pathconnexionbdd.Name = "bdd_saisie_dao.sq3"connexionbdd.Open()'creation dune table dans la nouvelle bdd nombase.sq3table = connexionbdd.Tables.Add("historique")tables = connexionbdd.Tables.Add("utilisateur")'creation de deux champs type string dans la nouvelle tabletable.Fields.Add("id", db.Serial)table.Fields.Add("login", db.String, 0)table.Fields.Add("password", db.String, 0)table.PrimaryKey = ["id"]table.Update() 'mise a jour de la table'creation de deux champs type string dans la nouvelle tabletables.Fields.Add("id", db.Serial)tables.Fields.Add("cii", db.String, 0)tables.Fields.Add("commune", db.String, 0)tables.PrimaryKey = ["id"]tables.Update() 'mise a jour de la tableEND


Et je m'en sort pas du tout la ...

J'ai pourtant repris il me semble le code du tuto ...
Prokopy#6 Posté le 14/4/2011 à 18:12:00
Kinder PinguiL'erreur est là :

1
PUBLIC connexionbdd AS Connection


Ici tu déclares ton objet mais tu ne l'instancies pas.
Mets plutôt :

1
PUBLIC connexionbdd AS NEW Connection


Si l'erreur est présente sur le tuto, pense à le signaler. ;-)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
Woody18#7 Posté le 14/4/2011 à 18:32:00
Pouahhh je suis bête ... nan en fait elle y était mais ça me m'était une erreur ... et je sais pas pourquoi je l'ai enlevé .... Mais j'ai toujours une erreur, je pense réussir à la trouver ...
Prokopy#8 Posté le 14/4/2011 à 19:30:00
Kinder PinguiC'est quoi l'erreur exactement ?
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
Woody18#9 Posté le 15/4/2011 à 17:46:00
En fait j'ai réglé le problème dans la création de la BDD il suffisait de ne pas mettre de mot de passe et de login... Laisser les champs vides en gros.

Donc pour l'instant j'ai réussi à ouvrir la connexion ... Maintenant reste à voir comment communiquer avec !

Comme ça ---------------->
1
connexionbdd.Type = Lower("Sqlite3") 'type de bddconnexionbdd.Host = Application.Path 'chemin dacces de la bddconnexionbdd.Name = "" 'nom de la bdd que nous voulons utiliserconnexionbdd.Login = "" 'login pour se connecter a la baseconnexionbdd.Password = "" ' mdp pour connecter a la baseconnexionbdd.Port = "" ' port si bdd en reseau'ouvre la connexion a la bdd sqliteconnexionbdd.Open()
manu#10 Posté le 15/4/2011 à 21:27:00
Avec Gambas ca roule !il faut quand même lui donner un nom a ta base de données ! ;)
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Woody18#11 Posté le 27/4/2011 à 19:10:00

Bon, en fait j'ai modifié la chose... J'ai crée ma bdd manuellement, avec gambas 3 ! Plus simple je pense... Par contre franchement, je ne comprends rien aux requêtes des bdd malgré la doc logiciel !
Donc j'ai essayé de m'en sortir comme possible mais pas facile j'ai fait un truc de ce genre :

1
PUBLIC SUB BT_connexion_Click() maconnexion.Close() maconnexion.Type = Lower("sqlite3") 'type de bdd maconnexion.Host = "/home/woody/Programmation/SaisieDao/" maconnexion.Name = "bdd_logiciel" maconnexion.Open() login1 = TB_login.Text password1 = TB_password.Text Query = Select * From utilisateur WHERE login = login1 Query1 = Select * From utilisateur WHERE password = password1 If Query = login1 And password1 = Query1 Then LBL_info.Text = "Connexion réussie" Else LBL_info.Text = "Données incorrect" EndifEnd


Et (sans surprise biensur) j'ai découvert que je l'avais dans l'os...

Personne n'aurait un tutoriel bien complet sur les "vérifications" sql ?

manu#12 Posté le 2/5/2011 à 23:20:00
Avec Gambas ca roule !ca ne peux pas marcher !!! :)

Je t'ai fait un exemple en gambas3 qui reglera ton probleme et je l'explique ICI sur le Wiki.

Je t'invite à lire tous les paragraphes concernant les Bases de Données ICI. Toujours sur le wiki.

Pour les instruction SQL, je te recommande ce site sur lequel tu trouvera tout ou presque : Tuto SQL .
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Woody18#13 Posté le 3/5/2011 à 16:37:00
Sympa merci pour les liens !

Je vais essayer de comprendre le wiki !

Et puis on verra bien ...

EDIT : J'ai réussi avec ton cours et j'ai à peu près compris la démarche ... Reste à voir plus loin ...

Encore merci pour ton aide (je posterai les sources de ce que j'ai fait une fois fini...) Mëme si c'est un peu brouillon...
1