OVH Cloud OVH Cloud

[SQLManagerX - FB4WD]

5 réponses
Avatar
Jerome PAULIN
Bonjour,

J'ai besoin de me brancher sur une base FireBird, mais je rencontre
quelques soucis : j'ai une classe c_t_reference qui qui est instanciée
de la manière suivante :

gclI_t_reference est un
c_t_reference(gclCnxSQL,"c_t_reference","gclI_t_reference")

mais lorsque je fait, par exemple un sqlfiltre suivi d'un sqlctable,
rien ne s'affiche ...

Si je fait un SQLexec suivi d'un SQLtable sur la connexion, tout se
passe bien ...

Je suis a peu près sur que, encore une fois, il s'agit d'une betise,
mais je tourne en rond la dessus depuis ce matin ...

Merci d'avance pour votre aide ...

Cordialement,

Jerome PAULIN

5 réponses

Avatar
Fietox
bonjour,

en arrettant le code dans ctable est ce qu'il pas le premier ?
sinon le filtre renvoie rien

@+
"Jerome PAULIN" a écrit dans le message
de news: eloli6$ut2$
Bonjour,

J'ai besoin de me brancher sur une base FireBird, mais je rencontre
quelques soucis : j'ai une classe c_t_reference qui qui est instanciée de
la manière suivante :

gclI_t_reference est un
c_t_reference(gclCnxSQL,"c_t_reference","gclI_t_reference")

mais lorsque je fait, par exemple un sqlfiltre suivi d'un sqlctable, rien
ne s'affiche ...

Si je fait un SQLexec suivi d'un SQLtable sur la connexion, tout se passe
bien ...

Je suis a peu près sur que, encore une fois, il s'agit d'une betise, mais
je tourne en rond la dessus depuis ce matin ...

Merci d'avance pour votre aide ...

Cordialement,

Jerome PAULIN


Avatar
Jerome PAULIN
Fietox a écrit :
bonjour,

en arrettant le code dans ctable est ce qu'il pas le premier ?
sinon le filtre renvoie rien




Je ne comprens pas la question ? Quelle information du Debug souhaitez
vous ?


Voici un bout de code qui fonctionne lorsque _id__ref vaut 2000:

sTxtsql="select * from T_PHASE where ID__ref=%1"
sTxtsql=ChaîneConstruit(sTxtsql,_id__ref)
gclCnxSQL:mySQLExec(sTxtsql,1)
gclCnxSQL:mySQLTable(1,"TABLE_Table1")
gclCnxSQL:mySQLFerme(1)



Et voici ce qui ne fonctionne pas:

gclI_t_reference:SQLFiltre("ID__REF 00","")
gclI_t_reference:SQLCtable("TABLE_Table1","ID__REF")



Voici la declaration de c_t_reference :

c_t_reference est une classe
PUBLIC

un objet SQLManagerX

m_ID__REF est un entier
m_REFERENCE__REF est une chaîne
m_DESIGNATION__REF est une chaîne
m_POIDS_NET__REF est un entier
m_POIDS_BRUT__REF est un entier
m_INDICE__REF est une chaîne
m_SECURITE__REF est un entier
m_REGLEMENTATION__REF est un entier

FIN



et son constructeur :

PROCEDURE Constructeur(p_SQLClass = Null, p_tableSQL = "", p_nomObjet =
"", p_prefixeClasse = "c_", p_prefixeMembre = "m_")
Constructeur SQLManagerX(p_SQLClass, p_tableSQL, p_nomObjet,
p_prefixeClasse, p_prefixeMembre)



Et enfin la creation de l'instance :

gclI_t_reference est un
c_t_reference(gclCnxSQL,"c_t_reference","gclI_t_reference")



Cordialement,

Jerome PAULIN
Avatar
Fietox
mettre un point d'arret dans le code de SQLManagerX dans ctable
A la ligne ret = :MySQL:mySQLExec( ligneSql, p_numRequete)
Et faire F8 pour voir s'il passe dans la boucle sinon recuperer la valeur de
ligneSQL


"Jerome PAULIN" a écrit dans le message
de news: elonlo$vtm$
Fietox a écrit :
bonjour,

en arrettant le code dans ctable est ce qu'il pas le premier ?
sinon le filtre renvoie rien




Je ne comprens pas la question ? Quelle information du Debug souhaitez
vous ?


Voici un bout de code qui fonctionne lorsque _id__ref vaut 2000:

sTxtsql="select * from T_PHASE where ID__ref=%1"
sTxtsql=ChaîneConstruit(sTxtsql,_id__ref)
gclCnxSQL:mySQLExec(sTxtsql,1)
gclCnxSQL:mySQLTable(1,"TABLE_Table1")
gclCnxSQL:mySQLFerme(1)



Et voici ce qui ne fonctionne pas:

gclI_t_reference:SQLFiltre("ID__REF 00","")
gclI_t_reference:SQLCtable("TABLE_Table1","ID__REF")



Voici la declaration de c_t_reference :

c_t_reference est une classe
PUBLIC

un objet SQLManagerX

m_ID__REF est un entier
m_REFERENCE__REF est une chaîne
m_DESIGNATION__REF est une chaîne
m_POIDS_NET__REF est un entier
m_POIDS_BRUT__REF est un entier
m_INDICE__REF est une chaîne
m_SECURITE__REF est un entier
m_REGLEMENTATION__REF est un entier

FIN



et son constructeur :

PROCEDURE Constructeur(p_SQLClass = Null, p_tableSQL = "", p_nomObjet =
"", p_prefixeClasse = "c_", p_prefixeMembre = "m_")
Constructeur SQLManagerX(p_SQLClass, p_tableSQL, p_nomObjet,
p_prefixeClasse, p_prefixeMembre)



Et enfin la creation de l'instance :

gclI_t_reference est un
c_t_reference(gclCnxSQL,"c_t_reference","gclI_t_reference")



Cordialement,

Jerome PAULIN


Avatar
Fietox
voici un code que j'ai modifie dans le projet exemple pour avoir ctable au
lieu de Xtable :

v_colonne = "client_ID, nom, adresse,codePostal ,ville"
v_sqlQuery += " client.client_ID< "

TableSupprimeTout(tbl_client)
client:SQLFiltre(v_sqlQuery,v_order)
client:SQLCtable("tbl_client",v_colonne)

pas de souci avec ce code
c'est pour ca qu'il vous faut arreter et suivre pas a pas le code, il doit y
avoir une erreur quelque part
donc verifier qu'il passe bien dans la boucle sinon prenez le SQL generer et
mettez le dans un frontal pour voir



"Jerome PAULIN" a écrit dans le message
de news: elonlo$vtm$
Fietox a écrit :
bonjour,

en arrettant le code dans ctable est ce qu'il pas le premier ?
sinon le filtre renvoie rien




Je ne comprens pas la question ? Quelle information du Debug souhaitez
vous ?


Voici un bout de code qui fonctionne lorsque _id__ref vaut 2000:

sTxtsql="select * from T_PHASE where ID__ref=%1"
sTxtsql=ChaîneConstruit(sTxtsql,_id__ref)
gclCnxSQL:mySQLExec(sTxtsql,1)
gclCnxSQL:mySQLTable(1,"TABLE_Table1")
gclCnxSQL:mySQLFerme(1)



Et voici ce qui ne fonctionne pas:

gclI_t_reference:SQLFiltre("ID__REF 00","")
gclI_t_reference:SQLCtable("TABLE_Table1","ID__REF")



Voici la declaration de c_t_reference :

c_t_reference est une classe
PUBLIC

un objet SQLManagerX

m_ID__REF est un entier
m_REFERENCE__REF est une chaîne
m_DESIGNATION__REF est une chaîne
m_POIDS_NET__REF est un entier
m_POIDS_BRUT__REF est un entier
m_INDICE__REF est une chaîne
m_SECURITE__REF est un entier
m_REGLEMENTATION__REF est un entier

FIN



et son constructeur :

PROCEDURE Constructeur(p_SQLClass = Null, p_tableSQL = "", p_nomObjet =
"", p_prefixeClasse = "c_", p_prefixeMembre = "m_")
Constructeur SQLManagerX(p_SQLClass, p_tableSQL, p_nomObjet,
p_prefixeClasse, p_prefixeMembre)



Et enfin la creation de l'instance :

gclI_t_reference est un
c_t_reference(gclCnxSQL,"c_t_reference","gclI_t_reference")



Cordialement,

Jerome PAULIN


Avatar
Jerome PAULIN
Fietox a écrit :
mettre un point d'arret dans le code de SQLManagerX dans ctable
A la ligne ret = :MySQL:mySQLExec( ligneSql, p_numRequete)
Et faire F8 pour voir s'il passe dans la boucle sinon recuperer la valeur de
ligneSQL




Merci pour l'aide, j'ai trouvé et résolu le problème grace au contenu de
ligneSQL ... Comme bien souvent, le problème n'était pas du coté écran,
mais du coté utilisateur ...