OVH Cloud OVH Cloud

[SQLManagerX] sqlinsert() sans sqlecranverstable

6 réponses
Avatar
Jerome PAULIN
Bonjour,

Je cherche a effectuer un sqlinsert(), mais je ne souhaite pas utiliser
sqlecranverstable() pour remplir les champs.

J'ai essayé de faire :

i_t_table:m_champ=valeur
i_t_table:m_champ=valeur2
i_t_table:sqlinsert()

mais ca ne semble pas probant... Un petit exemple (si c'est possible)
serait le bienvenu.

Merci d'avance,

gg

6 réponses

Avatar
Fietox
Bonjour,

tire du projet exemple :

client:SQLRaz()
client:m_client_ID=1
client:m_nom = "Mon Nom est "+(i+10)
client:m_titre = "M."
client:m_adresse = i+20+ " rue du chemin "+i*2
client:m_adresseSuite = ""
client:m_codePostal = NumériqueVersChaine(i+1000,"05d")
client:m_ville = "ville N° "+i+3
client:m_telephone =
NumériqueVersChaine(Random(1000000000,9999999999),"010d")
client:m_fax =NumériqueVersChaine(Random(1000000000,9999999999),"010d")
client:SQLAttacheMemo("memoClient",fRepExe()+"V4.gif")
si pas client:SQLinsert() alors
info(client:SQLerreur)
fin

table vers ecran lie les memebre de la classe au champs de la fenetre
mais SQLinsert utilise les memebre de la classe pour faire la requete
donc en remplissant les membres de la classe on saute l'etape de
EcranVersTable



"Jerome PAULIN" a écrit dans le message
de news: el1fpu$2pv$
Bonjour,

Je cherche a effectuer un sqlinsert(), mais je ne souhaite pas utiliser
sqlecranverstable() pour remplir les champs.

J'ai essayé de faire :

i_t_table:m_champ=valeur
i_t_table:m_champ=valeur2
i_t_table:sqlinsert()

mais ca ne semble pas probant... Un petit exemple (si c'est possible)
serait le bienvenu.

Merci d'avance,

gg


Avatar
Jerome PAULIN
Fietox a écrit :
Bonjour,

tire du projet exemple :

client:SQLRaz()
client:m_client_ID=1
client:m_nom = "Mon Nom est "+(i+10)
client:m_titre = "M."
client:m_adresse = i+20+ " rue du chemin "+i*2
client:m_adresseSuite = ""
client:m_codePostal = NumériqueVersChaine(i+1000,"05d")
client:m_ville = "ville N° "+i+3
client:m_telephone =
NumériqueVersChaine(Random(1000000000,9999999999),"010d")
client:m_fax =NumériqueVersChaine(Random(1000000000,9999999999),"010d")
client:SQLAttacheMemo("memoClient",fRepExe()+"V4.gif")
si pas client:SQLinsert() alors
info(client:SQLerreur)
fin

table vers ecran lie les memebre de la classe au champs de la fenetre
mais SQLinsert utilise les memebre de la classe pour faire la requete
donc en remplissant les membres de la classe on saute l'etape de
EcranVersTable





Merci beaucoup, c'est vrai que je ne pense pas a regarder dans le projet
exemple (la doc par contre, je l'ai toujours a cote de moi)...

gg
Avatar
Jerome PAULIN
voici ma declaration de classe :

c_t_planning_personne est une classe
PUBLIC
un objet SQLManagerX

m_ID__PLA_PER est un entier
m_ID__PER est un entier
m_JOUR__PLA_PER est une chaîne
m_BLOQUE__PLA_PER est un entier
m_HORAIRE_THEO__PLA_PER est un monétaire
FIN



voici mon code :

gclI_t_planning_personne:SQLRaz()
gclI_t_planning_personne:m_ID__PER=0
gclI_t_planning_personne:m_JOUR__PLA_PER="20060101"
gclI_t_planning_personne:m_HORAIRE_THEO__PLA_PER=8.3
gclI_t_planning_personne:m_BLOQUE__PLA_PER=0
SI PAS gclI_t_planning_personne:SQLInsert() ALORS
Info(gclI_t_planning_personne:ErreurSQL)
FIN



Voici le message d'erreur généré :

ERREUR MYSQL : 1064 TABLE : t_planning_personne / Erreur SQL : 1064
/ You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near ') VALUES )' at line 1...



Voici la requete qui est obtenue en faisant SQLInsert(vrai) :

INSERT INTO t_planning_personne ) VALUES )



Merci pour votre aide ...

gg
Avatar
jacques trepp
Jerome PAULIN a écrit :
Bonjour,

Je cherche a effectuer un sqlinsert(), mais je ne souhaite pas utiliser
sqlecranverstable() pour remplir les champs.

J'ai essayé de faire :

i_t_table:m_champ=valeur
i_t_table:m_champ=valeur2
i_t_table:sqlinsert()

mais ca ne semble pas probant... Un petit exemple (si c'est possible)
serait le bienvenu.

Merci d'avance,

gg



Bonjour,
je ne fais de sqlecranverstable() que lorsque je suis en mode 'fiche'.
Par contre :
CL:m_nom = "TREPP"
CL:m_prenom = "Jacques"
CL:m_sexe = "énorme"

si pas CL:SqlInsert() alors
erreur("vantard")
fin

Fonctionne très bien.

--
Jacques Trepp
Albygest - 81160 - St Juery
jacques-pas de
(enlever '-pas de spam' pour me joindre)
http://www.albygest.com
Avatar
Fietox
quelle est la declaration de l'objet :gclI_t_planning_personne

tu devrais avoir une ligne comme ca :

gclI_t_planning_personne est un
c_t_planning("Monaces","planning_personne","gclI_t_planning_personne")
si ce n'est pas le cas alors voila d'ou vient le probleme car dans la
requete on dirait qu'il ne connait pas les colonnes de la table
donc une mauvaise intialisation.

bon dev
@+


"Jerome PAULIN" a écrit dans le message
de news: el1h5h$3mu$
voici ma declaration de classe :

c_t_planning_personne est une classe
PUBLIC
un objet SQLManagerX

m_ID__PLA_PER est un entier
m_ID__PER est un entier
m_JOUR__PLA_PER est une chaîne
m_BLOQUE__PLA_PER est un entier
m_HORAIRE_THEO__PLA_PER est un monétaire
FIN



voici mon code :

gclI_t_planning_personne:SQLRaz()
gclI_t_planning_personne:m_ID__PER=0
gclI_t_planning_personne:m_JOUR__PLA_PER="20060101"
gclI_t_planning_personne:m_HORAIRE_THEO__PLA_PER=8.3
gclI_t_planning_personne:m_BLOQUE__PLA_PER=0
SI PAS gclI_t_planning_personne:SQLInsert() ALORS
Info(gclI_t_planning_personne:ErreurSQL)
FIN



Voici le message d'erreur généré :

ERREUR MYSQL : 1064 TABLE : t_planning_personne / Erreur SQL : 1064 /
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near ') VALUES )' at
line 1...



Voici la requete qui est obtenue en faisant SQLInsert(vrai) :

INSERT INTO t_planning_personne ) VALUES )



Merci pour votre aide ...

gg


Avatar
Jerome PAULIN
Fietox a écrit :
quelle est la declaration de l'objet :gclI_t_planning_personne

tu devrais avoir une ligne comme ca :

gclI_t_planning_personne est un
c_t_planning("Monaces","planning_personne","gclI_t_planning_personne")
si ce n'est pas le cas alors voila d'ou vient le probleme car dans la
requete on dirait qu'il ne connait pas les colonnes de la table
donc une mauvaise intialisation.

bon dev
@+





Gagné, c'était l'instanciation de la classe qui n'était pas bonne
(manquait le "gcl" au début)...
Ce qui est bizarre, c'est les autres déclarations fonctionnent bien,
mais oui mais non, je les utilise pas en insertion manuelle (uniquement
via SQLEcranVersTable).

Merci beaucoup,

gg