cs_Scarlett06
Messages postés4Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention 4 février 2008
-
1 févr. 2008 à 17:34
didierdufresne
Messages postés1Date d'inscriptionjeudi 2 octobre 2008StatutMembreDernière intervention10 décembre 2008
-
10 déc. 2008 à 10:07
Bonjour,
je débute en coldfusion est j'ai un petit soucis. Je n'arrive pas à insérer des valeurs dans une table de ma base de données.
J'arrive à la consulter mais pas à l'insérer.
Voici mon code :
<cfquery name="consulter" datasource="BD">SELECT * FROM Sondage</cfquery>
<cfdump var="#consulter#">
<cfquery name="ajouter" datasource="BD">INSERT INTO Sondage(IdQ,IdS,IdUsers,Reponse) values(1,1,2,1)</cfquery>
<cfdump var="#ajouter#">
La premiere requete "consulter" me retourne bien ma table (j'ai inséré une valeur à la main) mais la deuxieme "ajouter" me provoque une erreur et empeche l'affichage de ma page.
Pouvez vous m'aider pour détecter d'où vient l'erreur?
Merci
cs_Scarlett06
Messages postés4Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention 4 février 2008 4 févr. 2008 à 10:07
Oui j'ai bien mis les espaces... Ca marche maintenant, c'était juste un problème de nom de champ. Maintenant, j'essaie de procéder autrement je ne veux plus passer en dur mes valeurs mais passer par un cfc.
Dans mon cfm je fais
<cfscript>
// Variable globale Page
objNewRepSondage = createObject("component","cfcs.sondage");
objNewRepSondage.NewRepSondage(1,1,curIdUser,#Form.comparateur#);
</cfscript>
Et dans mon cfc :
<cfcomponent>
<cffunction name="NewRepSondage">
<cfargument name="IdS" required="yes">
<cfargument name="IdQ" required="yes">
<cfargument name="IdUsers" required="yes">
<cfargument name="Reponse" required="yes">
<cfquery name="upSondage" datasource="BourseImmo">
INSERT INTO Sondage (IdS,IdQ,IdUsers,Reponse)
VALUES (#Arguments.IdS#,#Arguments.IdQ#,#Arguments.IdUsers#,#Arguments.Reponse#)
</cfquery>
<cfquery name="montreSondage" datasource="BourseImmo">
SELECT * FROM Sondage
</cfquery>
</cffunction>
</cfcomponent>
et la pareil ca me fait la page de debug sans erreur ...
Scarlett
Vous n’avez pas trouvé la réponse que vous recherchez ?
nickadele
Messages postés1251Date d'inscriptionmercredi 7 août 2002StatutModérateurDernière intervention10 avril 2013 4 févr. 2008 à 13:54
Bonjour,
si ton code fonctionne au sein d'une page cfm, il doit en être de même au sein d'une page cfc, sauf si tu as une erreur de définition de ton cfc. Active le debug au niveau de l'interface admin pour connaître l'origine et la cause de l'erreur.
Question : es-tu sûre que ta page cfc est bien appelée ?
Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Sinon cela risque de faire un truc du style :
...
objNewRepSondage.NewRepSondage(1,1,curIdUser,ceci est ma réponse);
...
Autre chose, si tu peux typer les arguments de ton cfc c'est mieux et utilise plustôt cfqueryparam pour l'insert, cela évite des problème de paranthèse, SQLInject...
didierdufresne
Messages postés1Date d'inscriptionjeudi 2 octobre 2008StatutMembreDernière intervention10 décembre 2008 10 déc. 2008 à 10:07
Salut,
Il est important quand on travaille avec une base de donnée de ne travailler qu'avec des procédures stockées.
Avantages :
- rapidité (sql précompole le code)
- Sécurité (le user n'a que les bon droit)
il n'y a pas de code sql dans le source CFM
- Moins de données transitent sur le réseau