Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases Firebird
différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de mettre un
objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base à
laquelle je me suis connectée.
Merci de votre aide.
Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases Firebird
différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de mettre un
objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base à
laquelle je me suis connectée.
Merci de votre aide.
Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases Firebird
différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de mettre un
objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base à
laquelle je me suis connectée.
Merci de votre aide.
Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on peut
specifier une autre connexion qui duplique la dll fb4wd pour qu'elle est un
autre nom et donc un autre contexte par contre a verifier si cela fonctionne
car je ne sais plus comment réagi fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le parametre
du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui sont
créées et supprimées (dans le destructeur) pour gerer des instances
différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" a écrit dans le message de news:
492134d8$0$937$Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases Firebird
différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de mettre un
objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base à
laquelle je me suis connectée.
Merci de votre aide.
Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on peut
specifier une autre connexion qui duplique la dll fb4wd pour qu'elle est un
autre nom et donc un autre contexte par contre a verifier si cela fonctionne
car je ne sais plus comment réagi fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le parametre
du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui sont
créées et supprimées (dans le destructeur) pour gerer des instances
différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" <cyrille.masson@declicsoft.com> a écrit dans le message de news:
492134d8$0$937$ba4acef3@news.orange.fr...
Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases Firebird
différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de mettre un
objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base à
laquelle je me suis connectée.
Merci de votre aide.
Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on peut
specifier une autre connexion qui duplique la dll fb4wd pour qu'elle est un
autre nom et donc un autre contexte par contre a verifier si cela fonctionne
car je ne sais plus comment réagi fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le parametre
du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui sont
créées et supprimées (dans le destructeur) pour gerer des instances
différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" a écrit dans le message de news:
492134d8$0$937$Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases Firebird
différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de mettre un
objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base à
laquelle je me suis connectée.
Merci de votre aide.
Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Je vais regarder ca de près.
Firetox a écrit :Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on
peut specifier une autre connexion qui duplique la dll fb4wd pour qu'elle
est un autre nom et donc un autre contexte par contre a verifier si cela
fonctionne car je ne sais plus comment réagi fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le
parametre du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui
sont créées et supprimées (dans le destructeur) pour gerer des instances
différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" a écrit dans le message de
news: 492134d8$0$937$Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases
Firebird différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de mettre
un objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base à
laquelle je me suis connectée.
Merci de votre aide.
Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Je vais regarder ca de près.
Firetox a écrit :
Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on
peut specifier une autre connexion qui duplique la dll fb4wd pour qu'elle
est un autre nom et donc un autre contexte par contre a verifier si cela
fonctionne car je ne sais plus comment réagi fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le
parametre du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui
sont créées et supprimées (dans le destructeur) pour gerer des instances
différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" <cyrille.masson@declicsoft.com> a écrit dans le message de
news: 492134d8$0$937$ba4acef3@news.orange.fr...
Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases
Firebird différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de mettre
un objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base à
laquelle je me suis connectée.
Merci de votre aide.
Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Je vais regarder ca de près.
Firetox a écrit :Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on
peut specifier une autre connexion qui duplique la dll fb4wd pour qu'elle
est un autre nom et donc un autre contexte par contre a verifier si cela
fonctionne car je ne sais plus comment réagi fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le
parametre du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui
sont créées et supprimées (dans le destructeur) pour gerer des instances
différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" a écrit dans le message de
news: 492134d8$0$937$Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases
Firebird différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de mettre
un objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base à
laquelle je me suis connectée.
Merci de votre aide.
Bonjour,
[cut]Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
[/cut]
simplement par le nom de l'instance de l'objet
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
ensuite
pclConnexion:mySQLconnect(.....)
pclConnexion:MySQLExec( .....)
et pour l'autre
pclConnexion2:mySQLconnect(.....)
pclConnexion2:MySQLExec( .....)
Bon dev
@+
"Cyrille" a écrit dans le message de news:
492165c7$0$969$Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Je vais regarder ca de près.
Firetox a écrit :Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on
peut specifier une autre connexion qui duplique la dll fb4wd pour qu'elle
est un autre nom et donc un autre contexte par contre a verifier si cela
fonctionne car je ne sais plus comment réagi fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le
parametre du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui
sont créées et supprimées (dans le destructeur) pour gerer des instances
différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" a écrit dans le message de
news: 492134d8$0$937$Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases
Firebird différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de mettre
un objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base à
laquelle je me suis connectée.
Merci de votre aide.
Bonjour,
[cut]
Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
[/cut]
simplement par le nom de l'instance de l'objet
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
ensuite
pclConnexion:mySQLconnect(.....)
pclConnexion:MySQLExec( .....)
et pour l'autre
pclConnexion2:mySQLconnect(.....)
pclConnexion2:MySQLExec( .....)
Bon dev
@+
"Cyrille" <cyrille.masson@declicsoft.com> a écrit dans le message de news:
492165c7$0$969$ba4acef3@news.orange.fr...
Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Je vais regarder ca de près.
Firetox a écrit :
Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on
peut specifier une autre connexion qui duplique la dll fb4wd pour qu'elle
est un autre nom et donc un autre contexte par contre a verifier si cela
fonctionne car je ne sais plus comment réagi fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le
parametre du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui
sont créées et supprimées (dans le destructeur) pour gerer des instances
différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" <cyrille.masson@declicsoft.com> a écrit dans le message de
news: 492134d8$0$937$ba4acef3@news.orange.fr...
Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases
Firebird différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de mettre
un objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base à
laquelle je me suis connectée.
Merci de votre aide.
Bonjour,
[cut]Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
[/cut]
simplement par le nom de l'instance de l'objet
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
ensuite
pclConnexion:mySQLconnect(.....)
pclConnexion:MySQLExec( .....)
et pour l'autre
pclConnexion2:mySQLconnect(.....)
pclConnexion2:MySQLExec( .....)
Bon dev
@+
"Cyrille" a écrit dans le message de news:
492165c7$0$969$Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Je vais regarder ca de près.
Firetox a écrit :Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on
peut specifier une autre connexion qui duplique la dll fb4wd pour qu'elle
est un autre nom et donc un autre contexte par contre a verifier si cela
fonctionne car je ne sais plus comment réagi fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le
parametre du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui
sont créées et supprimées (dans le destructeur) pour gerer des instances
différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" a écrit dans le message de
news: 492134d8$0$937$Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases
Firebird différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de mettre
un objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base à
laquelle je me suis connectée.
Merci de votre aide.
J'ai un message d'erreur qui me dit :
fb4wd2.dll est introuvable ou problème d'initialisation de cette librairie
...
Si je vais voir dans mon répertoire exe du projet j'ai pourtant bien la
dll fb4wd2.dll.
Firetox a écrit :Bonjour,
[cut]Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
[/cut]
simplement par le nom de l'instance de l'objet
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
ensuite
pclConnexion:mySQLconnect(.....)
pclConnexion:MySQLExec( .....)
et pour l'autre
pclConnexion2:mySQLconnect(.....)
pclConnexion2:MySQLExec( .....)
Bon dev
@+
"Cyrille" a écrit dans le message de
news: 492165c7$0$969$Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Je vais regarder ca de près.
Firetox a écrit :Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on
peut specifier une autre connexion qui duplique la dll fb4wd pour
qu'elle est un autre nom et donc un autre contexte par contre a
verifier si cela fonctionne car je ne sais plus comment réagi
fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le
parametre du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui
sont créées et supprimées (dans le destructeur) pour gerer des
instances différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" a écrit dans le message de
news: 492134d8$0$937$Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases
Firebird différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de
mettre un objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base
à laquelle je me suis connectée.
Merci de votre aide.
J'ai un message d'erreur qui me dit :
fb4wd2.dll est introuvable ou problème d'initialisation de cette librairie
...
Si je vais voir dans mon répertoire exe du projet j'ai pourtant bien la
dll fb4wd2.dll.
Firetox a écrit :
Bonjour,
[cut]
Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
[/cut]
simplement par le nom de l'instance de l'objet
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
ensuite
pclConnexion:mySQLconnect(.....)
pclConnexion:MySQLExec( .....)
et pour l'autre
pclConnexion2:mySQLconnect(.....)
pclConnexion2:MySQLExec( .....)
Bon dev
@+
"Cyrille" <cyrille.masson@declicsoft.com> a écrit dans le message de
news: 492165c7$0$969$ba4acef3@news.orange.fr...
Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Je vais regarder ca de près.
Firetox a écrit :
Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on
peut specifier une autre connexion qui duplique la dll fb4wd pour
qu'elle est un autre nom et donc un autre contexte par contre a
verifier si cela fonctionne car je ne sais plus comment réagi
fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le
parametre du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui
sont créées et supprimées (dans le destructeur) pour gerer des
instances différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" <cyrille.masson@declicsoft.com> a écrit dans le message de
news: 492134d8$0$937$ba4acef3@news.orange.fr...
Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases
Firebird différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de
mettre un objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base
à laquelle je me suis connectée.
Merci de votre aide.
J'ai un message d'erreur qui me dit :
fb4wd2.dll est introuvable ou problème d'initialisation de cette librairie
...
Si je vais voir dans mon répertoire exe du projet j'ai pourtant bien la
dll fb4wd2.dll.
Firetox a écrit :Bonjour,
[cut]Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
[/cut]
simplement par le nom de l'instance de l'objet
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
ensuite
pclConnexion:mySQLconnect(.....)
pclConnexion:MySQLExec( .....)
et pour l'autre
pclConnexion2:mySQLconnect(.....)
pclConnexion2:MySQLExec( .....)
Bon dev
@+
"Cyrille" a écrit dans le message de
news: 492165c7$0$969$Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Je vais regarder ca de près.
Firetox a écrit :Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on
peut specifier une autre connexion qui duplique la dll fb4wd pour
qu'elle est un autre nom et donc un autre contexte par contre a
verifier si cela fonctionne car je ne sais plus comment réagi
fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le
parametre du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui
sont créées et supprimées (dans le destructeur) pour gerer des
instances différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" a écrit dans le message de
news: 492134d8$0$937$Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases
Firebird différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de
mettre un objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base
à laquelle je me suis connectée.
Merci de votre aide.
cela veut dire que la dll fbClient.dll n'accepte pas d'être chargée
plusieurs fois ou d'avoir plusiseurs contexte
en C++ ce serait facile car on pourrait dupliquer le contexte mais dans le
cas de windev la dll represente le contexte et comme sous mySQL elle
n'accepte pas plusieurs instance (sous mySQL c'est la libMySQL.dll qui gere
les connexions sur plusieurs bases simultanement, sinon on auvait le meme
probleme avant la libmySQL en version 5)
donc il faut deconnecter et reconnecter pour avoir acces a plusieurs bases
en simultané
Bon dev
@+
"Cyrille" a écrit dans le message de news:
49216a5d$0$872$J'ai un message d'erreur qui me dit :
fb4wd2.dll est introuvable ou problème d'initialisation de cette librairie
...
Si je vais voir dans mon répertoire exe du projet j'ai pourtant bien la
dll fb4wd2.dll.
Firetox a écrit :Bonjour,
[cut]Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
[/cut]
simplement par le nom de l'instance de l'objet
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
ensuite
pclConnexion:mySQLconnect(.....)
pclConnexion:MySQLExec( .....)
et pour l'autre
pclConnexion2:mySQLconnect(.....)
pclConnexion2:MySQLExec( .....)
Bon dev
@+
"Cyrille" a écrit dans le message de
news: 492165c7$0$969$Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Je vais regarder ca de près.
Firetox a écrit :Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on
peut specifier une autre connexion qui duplique la dll fb4wd pour
qu'elle est un autre nom et donc un autre contexte par contre a
verifier si cela fonctionne car je ne sais plus comment réagi
fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le
parametre du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui
sont créées et supprimées (dans le destructeur) pour gerer des
instances différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" a écrit dans le message de
news: 492134d8$0$937$Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases
Firebird différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de
mettre un objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base
à laquelle je me suis connectée.
Merci de votre aide.
cela veut dire que la dll fbClient.dll n'accepte pas d'être chargée
plusieurs fois ou d'avoir plusiseurs contexte
en C++ ce serait facile car on pourrait dupliquer le contexte mais dans le
cas de windev la dll represente le contexte et comme sous mySQL elle
n'accepte pas plusieurs instance (sous mySQL c'est la libMySQL.dll qui gere
les connexions sur plusieurs bases simultanement, sinon on auvait le meme
probleme avant la libmySQL en version 5)
donc il faut deconnecter et reconnecter pour avoir acces a plusieurs bases
en simultané
Bon dev
@+
"Cyrille" <cyrille.masson@declicsoft.com> a écrit dans le message de news:
49216a5d$0$872$ba4acef3@news.orange.fr...
J'ai un message d'erreur qui me dit :
fb4wd2.dll est introuvable ou problème d'initialisation de cette librairie
...
Si je vais voir dans mon répertoire exe du projet j'ai pourtant bien la
dll fb4wd2.dll.
Firetox a écrit :
Bonjour,
[cut]
Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
[/cut]
simplement par le nom de l'instance de l'objet
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
ensuite
pclConnexion:mySQLconnect(.....)
pclConnexion:MySQLExec( .....)
et pour l'autre
pclConnexion2:mySQLconnect(.....)
pclConnexion2:MySQLExec( .....)
Bon dev
@+
"Cyrille" <cyrille.masson@declicsoft.com> a écrit dans le message de
news: 492165c7$0$969$ba4acef3@news.orange.fr...
Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Je vais regarder ca de près.
Firetox a écrit :
Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on
peut specifier une autre connexion qui duplique la dll fb4wd pour
qu'elle est un autre nom et donc un autre contexte par contre a
verifier si cela fonctionne car je ne sais plus comment réagi
fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le
parametre du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui
sont créées et supprimées (dans le destructeur) pour gerer des
instances différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" <cyrille.masson@declicsoft.com> a écrit dans le message de
news: 492134d8$0$937$ba4acef3@news.orange.fr...
Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases
Firebird différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de
mettre un objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base
à laquelle je me suis connectée.
Merci de votre aide.
cela veut dire que la dll fbClient.dll n'accepte pas d'être chargée
plusieurs fois ou d'avoir plusiseurs contexte
en C++ ce serait facile car on pourrait dupliquer le contexte mais dans le
cas de windev la dll represente le contexte et comme sous mySQL elle
n'accepte pas plusieurs instance (sous mySQL c'est la libMySQL.dll qui gere
les connexions sur plusieurs bases simultanement, sinon on auvait le meme
probleme avant la libmySQL en version 5)
donc il faut deconnecter et reconnecter pour avoir acces a plusieurs bases
en simultané
Bon dev
@+
"Cyrille" a écrit dans le message de news:
49216a5d$0$872$J'ai un message d'erreur qui me dit :
fb4wd2.dll est introuvable ou problème d'initialisation de cette librairie
...
Si je vais voir dans mon répertoire exe du projet j'ai pourtant bien la
dll fb4wd2.dll.
Firetox a écrit :Bonjour,
[cut]Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
[/cut]
simplement par le nom de l'instance de l'objet
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
ensuite
pclConnexion:mySQLconnect(.....)
pclConnexion:MySQLExec( .....)
et pour l'autre
pclConnexion2:mySQLconnect(.....)
pclConnexion2:MySQLExec( .....)
Bon dev
@+
"Cyrille" a écrit dans le message de
news: 492165c7$0$969$Oui j'avais vu ce paramètre dans le constructeur mais je ne savais pas
comment rappeler tel ou tel connexion ensuite.
Je vais regarder ca de près.
Firetox a écrit :Bonjour,
cela vient du fait que la dll fb4wd a un seul contexte
(je me rapelle plus si cela fonctionne ) mais dans le constructeur on
peut specifier une autre connexion qui duplique la dll fb4wd pour
qu'elle est un autre nom et donc un autre contexte par contre a
verifier si cela fonctionne car je ne sais plus comment réagi
fbClient.dll
mais dans votre code au moment de l'allocation il faut changer le
parametre du type de connexion
pclConnexion = allouer un c_FB4WD(1)
pclConnexion2 = allouer un c_FB4WD(2)
le parametre du constructeur sert a differencier les dll FB4WD.dll qui
sont créées et supprimées (dans le destructeur) pour gerer des
instances différentes de la dll
a tester tout de meme pour voir la reaction de FBCLIENT.DLL
Bon dev
@+
"Cyrille" a écrit dans le message de
news: 492134d8$0$937$Bonjour,
Je voudrais créer une collection de connexions à plusieurs bases
Firebird différentes à l'aide d'un objet php4wd.
J'ai donc instancié un tableau dynamique de php4wd et essayer de
mettre un objet php4wd pour chaque connexion que j'utilise.
Mon problème vient que j'ai beaucoup de mal à réutiliser ce tableau
(l'objet a été libéré) et apparemment quand je veux accéder à un objet
quelconque de mon tableau il n'a enregistré que la dernière base.
Voila le code que j'ai pondu :
TABLE_BaseDeDonnees est une table sur laquelle j'écris les différentes
connexions que j'utilise.
tabConnexion est le tableau dynamique où je stocke mes objets php4wd.
i est un entier = 0
pclConnexion est un c_FB4WD dynamique
TableauSupprimeTout(tabConnexion)
pour toute ligne de TABLE_BaseDeDonnees
i ++
pclConnexion = allouer un c_FB4WD
TableauAjoute(tabConnexion, pclConnexion)
if tabConnexion[i]:mySQLConnecte(COL_Chemin, COL_Nom, COL_Utilisateur,
COL_MotDePasse) then
SAI_Resultat += "Base " + col_nom + " connectée" + rc else
Erreur(tabConnexion[i]:mySQLErreur + RC +
tabConnexion[i]:mySQLGetErrorMessage())
end
liberer pclConnexion
FIN
Pour réutiliser mon tableau je fais par exemple :
POUR TOUT ELEMENT pclConnexion DE tabConnexion
pclConnexion:MySQLListeTables(sListeTable)
Trace(sListeTable)
FIN
Ca me renvoie bien quelque chose mais uniquement sur la dernière base
à laquelle je me suis connectée.
Merci de votre aide.