begin process at 2008 05 17 06:42:38
1 173 918 membres
50 nouveaux aujourd'hui
13 973 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Insert et coldfusion [ Base de données / SQL Server ] (Scarlett06)

Insert et coldfusion le 01/02/2008 17:34:22

Scarlett06
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

Scarlett

Re : Insert et coldfusion le 04/02/2008 07:48:39

bonnebouffe
Membre Club
Salut,

Quel message d'erreur reçois-tu exactement lorsque tu fais ton insert ?

Christophe
[ Lien ]

Re : Insert et coldfusion le 04/02/2008 09:30:30

Scarlett06
Bonjour,
j'ai cette page qui s'affiche


query - Top 1 of 1 Rows
 IDQIDSIDUSERSREPONSE
11 1 1 1


et quand je debug this page, aucune erreur apparait ....
Bizarre non ?

Scarlett

Re : Insert et coldfusion le 04/02/2008 09:38:31

bonnebouffe
Membre Club
Bête question mais dans on insert, tu as bien mis des espaces entre Sondage et la parenthèse et idem pour Values ?

Christophe

Re : Insert et coldfusion le 04/02/2008 10:07:26

Scarlett06

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


Re : Insert et coldfusion le 04/02/2008 13:54:15

nickadele
Membre Club
(Admin CS)
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

Re : Insert et coldfusion le 26/03/2008 10:02:13

xchevalier

Hello,

Tu devrais passer tes valeurs comme ceci à ton CFC


<cfscript>
 // Variable globale Page
 objNewRepSondage = createObject("component","cfcs.sondage");
 objNewRepSondage.NewRepSondage(1,1,curIdUser,Form.comparateur);
</cfscript>

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...

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 (
      <cfqueryparamvalue="#Arguments.IDS#"cfsqltype="cf_sql_numeric">,
      <cfqueryparamvalue="#Arguments.
IdQ#"cfsqltype="cf_sql_numeric">,
      <cfqueryparamvalue="#Arguments.
IdUsers#"cfsqltype="cf_sql_numeric">,
      <cfqueryparamvalue="#Reponse#"cfsqltype="cf_sql_varchar"maxlength="255">
   )
  </cfquery>
  
  <cfquery name="montreSondage" datasource="BourseImmo">
   SELECT * FROM Sondage
  </cfquery>
 </cffunction>
</cfcomponent>



Classé sous : arrive, insert, table, insérer, coldfusion

Participer à cet échange

Appels d'offres

Pub



Snippets en rapport

CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS