2010-09-16 1 views
0

J'ai une forme qui met à jour sur la même page est sur ... ce formulaire travaillé la semaine dernière et je ne l'ai pas touché le code TOUT. Qu'est-ce qui aurait pu changer? : \formulaire de mise à jour de la base de données ne Coldfusion

« Il ne fonctionne pas .. » comme dans ... une fois que les informations sont soumises, les informations contenues dans la base de données ne sont pas mis à jour. : \

REMARQUE: JE SAIS QUE j'ai besoin de remplacer les choses avec cfparam ... ne vous inquiétez pas pour cette partie.

Une autre Note: cette page est inclus dans une zone à onglets (onglets JQuery UI)

J'ai essayé de déboguer cela avec Firebug ... mais je reçois pas d'erreur ...: \

Voici le code:

<!-- Submit form handles --> 
<cfif isdefined("form.buttonGen")> 

    <cfparam name="form.TeachingLevel" default="None"> 
    <cfif #form.FundSource# IS 'Other'> 
    <cfset form.FundSource = #form.FundSourceOther#> 
    </cfif> 

    <cfquery name="savePeople" datasource="#sacsds#" username="#sacsuser#" password="#sacsuser#"> 
    UPDATE faculty.dbo.SACS_Person 
    SET Status = '#form.Status#', 
    FundSource = '#form.FundSource#', 
    TeachingLevel = '#form.TeachingLevel#', 
    TeachingFields = '#form.TeachingFields#', 
    MeetsReq = '#form.MeetsReq#', 
    GraduateHours = '#form.GraduateHours#', 
    MeetsQual = '#form.MeetsQual#', 
    Justification = '#form.Justification#' 
    WHERE IDNum = <cfqueryparam cfsqltype="cf_sql_varchar" value="#session.fperson#"> AND 
    DeptCode = '#session.DeptCode#' 
    </cfquery> 


<cfif ISDEFINED("form.VitaFile") AND form.VitaFile IS NOT ''> 


    <cffile action="upload" filefield="form.VitaFile" destination="#VitaLoc#" nameconflict="makeunique"> 
    <cfset form.VitaURL = "#VitaPath#/#cffile.serverfile#"> 
     <cfquery name="saveVita" datasource="#sacsds#" username="#sacsuser#" password="#sacsuser#"> 
     UPDATE faculty.dbo.SACS_Person 
     SET vitaURL = '#form.vitaURL#' 
     WHERE idnum LIKE '#form.idnum#' 
     AND deptCode LIKE '#form.deptCode#' 
     </cfquery> 

</cfif> 



</cfif> 
<div id = "dialog2"> 
<b>Saved.</b> 
</div> 





<!-- The form --> 
<cfif session.security GT 1> 
<h3><cfoutput>#getP.FullName#</cfoutput></h3> 
<cfform name="form1" enctype="multipart/form-data" id = "docForm" > 
<table class = "general"> 
    <tr> 
    <td><strong>Status</strong></td> 
    <td><cfinput type="radio" name="Status" value="Regular Faculty" checked="checked" /> 
     Regular Faculty 
     <cfif results.Status IS "Visiting Faculty"><cfinput type="radio" name="Status" value="Visiting Faculty" CHECKED /> 
     <cfelse> 
     <cfinput type="radio" name="Status" value="Visiting Faculty" /> 
     </cfif> 
     Visiting Faculty<br /> 
     <cfif results.Status IS "Adjunct"> 
     <cfinput type="radio" name="Status" value="Adjunct" CHECKED /> 
     <cfelse> 
     <cfinput type="radio" name="Status" value="Adjunct" /></cfif> 
     Adjunct 
     <cfif results.Status IS "Graduate or Teaching Assistant"> 
     <cfinput type="radio" name="Status" value="Graduate or Teaching Assistant" CHECKED /> 
     <cfelse> 
     <cfinput type="radio" name="Status" value="Graduate or Teaching Assistant" /> 
     </cfif> 
    Grad or Teaching Asst </td> 
    </tr> 
    <tr> 
    <td><strong>Funding Source</strong></td> 
    <td> 
    <cfinput type="radio" name="FundSource" value="EG" checked="checked" /> 
     E&amp;G 
     <cfif results.FundSource IS "Grant Contract"> 
     <cfinput type="radio" name="FundSource" value="Grant Contract" CHECKED /> 
     <cfelse> 
     <cfinput type="radio" name="FundSource" value="Grant Contract" /> 
     </cfif> 
     Grant Contract 
     <cfif results.FundSource IS "Auxiliary"> 
     <cfinput type="radio" name="FundSource" value="Auxiliary" CHECKED /> 
     <cfelse> 
     <cfinput type="radio" name="FundSource" value="Auxiliary" /> 
     </cfif> 
     Auxiliary<br /> 
     <cfif results.FundSource IS NOT "Grant Contract" AND results.FundSource IS NOT "Auxiliary" AND results.FundSource IS NOT "EG"> 
     <cfinput type="radio" name="FundSource" value="Other" CHECKED /> 
     <cfelse> 
     <cfinput type="radio" name="FundSource" value="Other" /> 
     </cfif> 
     Other: 
    <cfif results.FundSource IS NOT "Grant Contract" AND results.FundSource IS NOT "Auxiliary" AND results.FundSource IS NOT "EG"> 
    <cfoutput> 
    <cfinput type="text" name="FundSourceOther" size="35" value="#results.FundSource#" /> 
    </cfoutput> 
    <cfelse> 
    <cfinput type="text" name="FundSourceOther" size="35" value="" /> 
    </cfif> 
    </td> 
    </tr> 
    <tr> 
    <td><strong>Teaching Levels</strong></td> 
    <td> 
    <cfif FindNoCase('Lower Division', #results.TeachingLevel#) IS NOT 0> 
    <cfinput type="checkbox" name="TeachingLevel" value="Lower Division" CHECKED /> 
    <cfelse> 
    <cfinput type="checkbox" name="TeachingLevel" value="Lower Division" /> 
    </cfif> 
     Lower Division 
    <cfif FindNoCase('Masters', #results.TeachingLevel#) IS NOT 0> 
    <cfinput type="checkbox" name="TeachingLevel" value="Masters" CHECKED /> 
    <cfelse> 
    <cfinput type="checkbox" name="TeachingLevel" value="Masters" /> 
    </cfif> 
    Master's 
    <cfif FindNoCase('Doctorate', #results.TeachingLevel#) IS NOT 0> 
    <cfinput type="checkbox" name="TeachingLevel" value="Doctorate" CHECKED /> 
    <cfelse> 
    <cfinput type="checkbox" name="TeachingLevel" value="Doctorate" /> 
    </cfif> 
    Doctorate<br /> 
    <cfif FindNoCase('Upper Division', #results.TeachingLevel#) IS NOT 0> 
    <cfinput type="checkbox" name="TeachingLevel" value="Upper Division" CHECKED /> 
    <cfelse> 
    <cfinput type="checkbox" name="TeachingLevel" value="Upper Division" /> 
    </cfif> 
    Upper Division 
    <cfif FindNoCase('Specialist', #results.TeachingLevel#) IS NOT 0> 
    <cfinput type="checkbox" name="TeachingLevel" value="Specialist" CHECKED /> 
    <cfelse> 
    <cfinput type="checkbox" name="TeachingLevel" value="Specialist" /> 
    </cfif> 
    Specialist 
    <cfif FindNoCase('None', #results.TeachingLevel#) IS NOT 0> 
    <cfinput type="checkbox" name="TeachingLevel" value="None" CHECKED /> 
    <cfelse> 
    <cfinput type="checkbox" name="TeachingLevel" value="None" /> 
    </cfif> 
    None </td> 
    </tr> 
    <tr> 
    <td><strong>Teaching Fields</strong></td> 
    <td><cfinput type="text" name="TeachingFields" size="35" value="#results.TeachingFields#"></td> 
    </tr> 
    <tr> 
    <td colspan="2" align="center"><strong>Meets faculty requirements based upon advanced academic work in the teaching fields.</strong><br /> 
     &nbsp; 
     <cfinput type="radio" name="MeetsReq" value="Yes" checked="checked" /> 
     Yes 
     <cfif results.MeetsReq IS "No"> 
     <cfinput type="radio" name="MeetsReq" value="No" CHECKED /> 
     <cfelse> 
     <cfinput type="radio" name="MeetsReq" value="No" /> 
     </cfif> 

    No </td> 
    </tr> 
    <tr> 
    <td colspan="2" align="center"><strong>Graduate semester hours in teaching field</strong> 
     <br /> 
     <cfinput type="radio" name="GraduateHours" value="0-17" checked="checked" /> 
     0-17 
     <cfif results.GraduateHours IS "18-29"> 
     <cfinput type="radio" name="GraduateHours" value="18-29" CHECKED /> 
     <cfelse> 
     <cfinput type="radio" name="GraduateHours" value="18-29" /> 
     </cfif> 
     18-29 
     <cfif results.GraduateHours IS "30+"> 
     <cfinput type="radio" name="GraduateHours" value="30+" CHECKED /> 
     <cfelse> 
     <cfinput type="radio" name="GraduateHours" value="30+" /> 
     </cfif> 
     30 and above </td> 
    </tr> 
    <tr> 
    <td colspan="2" align="center"><strong>Meets qualifications based upon &quot;demonstrated competencies and achievements that contribute to effective teaching and student learning outcomes&quot; in lieu of advanced academic preparation.</strong><br /> 
     <cfinput type="radio" name="MeetsQual" value="Yes" checked="checked" /> 
     Yes 
     <cfif results.MeetsQual IS "No"> 
     <cfinput type="radio" name="MeetsQual" value="No" CHECKED /> 
     <cfelse> 
     <cfinput type="radio" name="MeetsQual" value="No" /> 
     </cfif> 
     No </td> 
    </tr> 
    <tr> 
    <td colspan="2" align="center"><strong>If &quot;yes&quot;, describe the manner in which the competence and achievement were demonstrated. If &quot;no,&quot; describe the circumstances justifying the hiring.</strong> 

     <br /> 
     <br /> 
     <cftextarea name="Justification" cols="70" rows="5"><cfoutput>#results.Justification#</cfoutput></cftextarea> 
     </td> 
    </tr> 
    <tr> 
    <td colspan="2" align="center"> 
     <cfinput type="submit" name="buttonGen" id="buttonGen" value="Save Changes" /> 
     </td> 
    </tr> 
</table> 
<cfoutput> 
<cfinput type="hidden" name="VitaURL" value="#results.VitaURL#"> 
<cfinput type="hidden" name="CollegeCode" value="#session.CollegeCode#"> 
<cfinput type="hidden" name="DeptCode" value="#session.DeptCode#"> 
<cfinput type="hidden" name="IDNum" value="#session.fperson#"> 
</cfoutput> 
</cfform> 
<cfelse> 
</cfif> 
+1

Il semble peu probable _nothing_ a changé. Mais essayez quelques dépannage de base. Utilisez quelque chose comme les en-têtes HTTP en direct pour voir si une demande est effectivement soumise. Si oui, ajoutez un enregistrement à la page afin que vous puissiez voir ce qui a été soumis. La clause CFIF (c'est-à-dire la requête) s'exécute-t-elle même? Oui, ce SQL est en cours d'exécution? Il est toujours possible que la clause WHERE ne trouve aucun enregistrement correspondant. – Leigh

+0

Oh ... La larme d'un homme avare coule sur ma joue quand je vois un tel style de code. – Sergii

+0

J'ai vu pire. En fait, je travaille sur une telle application héritée maintenant .. Je pleurerais. Mais hélas, il n'y a pas de temps. – Leigh

Répondre

0

Apparemment, la boîte de dialogue jquery qui indique à l'utilisateur a été enregistré le contenu ... empêchait la requête de l'exécution. Étrange ... eh bien pas de joli dialogue. : \ Ne fonctionne pas avec la façon dont j'ai des choses. Je devrais faire mon truc de forme par ajax ... Je ferais juste ça, mais je n'ai pas le temps. Merci à tous ...

PS: Je vais travailler sur mon style de codage. :)

+2

Ou vous pourriez découvrir pourquoi il bloque la requête de l'exécution et la réparer;) – Leigh

Questions connexes