Gambas France BETA


Pas de compte ? Incription

[resolu]No curent connection !

Ce sujet est résolu.

1
AuteurMessages
manu#1 Posté le 29/3/2011 à 07:18:00
Avec Gambas ca roule !Bonjour,

J'ai un problème avec une Base de données. Lors de l’exécution de la requête, le message "No Current Connection".

Voici mon code :

1
PUBLIC SUB Button1_Click()DIM Sql AS ResultBase.OuvreBDD("maBase")Sql = DB.Exec("SELECT * FROM Fabrications") END


Base.OuvreBDD est une fonction dans un module :

1
' Gambas module filePublic maconnect As ConnectionPublic unetable As TablePublic Sub OuvreBDD(NomBase As String)'---------------------- TEST SI LA BASE EXISTE -----------------------maconnect = New ConnectionWith maconnect 'de with à end with on defini la connexion.Type = "sqlite3".Host = Application.PathEnd Withmaconnect.OPEN 'on ouvre la connexion If Not maconnect.Databases.Exist(NomBase) Then 'on testel'existence de la base maconnect.Databases.Add(NomBase) ' maconnect.close 'on ferme la connexion Endif '---------------------- OUVERTURE LA CONNEXION AVEC LA BASE -----------------------With maconnect = New Connection 'de with à end with on defini la connexion.Type = "sqlite3".Host = Application.Path.Name = NomBaseEnd Withmaconnect.OPEN 'on ouvre la connexion (en indiquant le nom de la base passé en parametre)'Message.info((NomBase) & " connectée")End


Le problème, c'est que j'ai fait un copier coller d'un de mes projets pour lequel ca marche tres bien !

Et la je suis à cour d'idé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)
spheris#2 Posté le 29/3/2011 à 11:45:00
Manu,
tu ouvres ta base dans un module, ok.
deux questions à se poser :
A) A quel moment dis-tu dans quelle table tu ajoutes un item ?
B) Tu passes en parametre le nom d'une bdd à ton module, mais tu ne retournes aucun parametres dans ta fonction Button1_Click()
Regarde bien mais d'après ton code la variable "sql" restera vide d'ou le message d'erreur. ;)
manu#3 Posté le 29/3/2011 à 11:59:00
Avec Gambas ca roule !


A) A quel moment dis-tu dans quelle table tu ajoutes un item ?



Je rentre mes données a la main, avec l'outils de gambas. Je ne le fait pas en code.



B) Tu passes en parametre le nom d'une bdd à ton module, mais tu ne retournes aucun parametres dans ta fonction Button1_Click()
;)


Parce que je fais juste que connecter mon projet la la base, rien de plus...


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)
linuxos#4 Posté le 29/3/2011 à 12:36:00
Un peu de sel, de poivre et la crevette sera... Manu,

pour faire une requette vers une base de données, il me semble qu'après avoir établi la connexion, il faut
se servir de la référence de cette connexion pour que cela fonctionne.

Lors de la requette, il faut preciser quel objet connexion doit etre utilisé..

Je pense pas me tromper

Olviier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
manu#5 Posté le 29/3/2011 à 20:35:00
Avec Gambas ca roule !Non vous avez tous faux :) ;) :roll:

C'est mon module qui n'est pas bon... Dans l'autre application (d'ou proviens ce code) il y avait une création de tables. Je redéfinissais ma connexion, en n'oubliant pas le nom de la base comme c'est la cas dans le code plus haut !!!! Sans le nom de la base, il est dur de s'y connecter !!! :rabbit: :no:

Voila ce qu'il fallait ecrire :

1
' Gambas module filePrivate maconnect As ConnectionPublic Sub OuvreBDD(NomBase As String)maconnect = New ConnectionWith maconnect 'de with à end with on defini la connexion .Type = "sqlite3" .Host = Application.Path .Name = NomBaseEnd Withmaconnect.OPEN 'on ouvre la connexion If Not maconnect.Databases.Exist(NomBase) Then 'on testel'existence de la base maconnect.Databases.Add(NomBase) Endif 'Message.Info(db.Current.Name)End
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)
spheris#6 Posté le 30/3/2011 à 21:05:00
Manu,
content de t'avoir aidé :) :) :)
1