Copy link to clipboard
Copied
This code excutes on Coldfusion 10... However, Why does it not excute on Coldfusion 8.
The line in red is where it fails.
<cfscript>
if (IsDefined("FORM.fName") AND IsDefined("FORM.lName") AND IsDefined("FORM.email") AND IsDefined("FORM.lms") AND IsDefined("FORM.updated_lms")) {
if (FORM.fName NEQ "" AND FORM.lName NEQ "" AND FORM.email NEQ "" AND FORM.lms NEQ "" AND FORM.updated_lms NEQ "") {
if (IsNumeric(FORM.lms) AND IsNumeric(FORM.updated_lms)) {
//If LMS Numbers are EQUAL THEN UPDATE OTHERWISE check to see if new LMS Number exists IF NOT THEN UPDATE
if (FORM.lms EQ FORM.updated_lms) {
try {
runquery = updateTraineeUser();
} catch(any excpt) {
WriteOutput("<p class=""error"">The application was unable to perform a required operation. If this problem persists, contact Avant Vernon or Ward Scott and include the following information: #excpt.Message#</p>");
}
} else {
//Check for Existing LMS IDs
//query object
q_String0 = new Query(datasource=Application.dsn,name="q_ExistingTraineeInfo");
//query string
q_String0.setSQL("SELECT trainee_lmsID FROM dct_Trainees WHERE trainee_lmsID = :updated_lms UNION
SELECT employeeNumber FROM dct_Users WHERE employeeNumber = :updated_lms");
//query parameters
q_String0.addParam(name="updated_lms",value=FORM.updated_lms,cfsqltype="cf_sql_int");
//query execution
q_Result0 = q_String0.execute();
foundLMS = q_Result0.getResult().recordcount;
if (foundLMS GT 0)
WriteOutput("<span class=""error"">LMS Number already exists!</span>");
else
runquery = updateTraineeUser();
}
} else {
WriteOutput("<span class=""error"">LMS Number must be numeric!</span>");
}
} else {
WriteOutput("<span class=""error"">Required Fields are empty!</span>");
}
} else {
WriteOutput("<span class=""error"">Required Fields are undefined!</span>");
}
//Function to update tables
public void function updateTraineeUser() {
//Update Trainee Table
//query object
q_String1 = new Query(datasource=Application.dsn,name="q_UpdateTraineeInfo1");
//query string
q_String1.setSQL("UPDATE dct_Trainees SET
trainee_lmsID = :updated_lms, fName = :fName, lName = :lName, email = :email
WHERE trainee_lmsID = :trainee_lmsID");
//query parameters
q_String1.addParam(name="fName",value=FORM.fName,cfsqltype="cf_sql_varchar");
q_String1.addParam(name="lName",value=FORM.lName,cfsqltype="cf_sql_varchar");
q_String1.addParam(name="email",value=FORM.email,cfsqltype="cf_sql_varchar");
q_String1.addParam(name="trainee_lmsID",value=FORM.lms,cfsqltype="cf_sql_int");
q_String1.addParam(name="updated_lms",value=FORM.updated_lms,cfsqltype="cf_sql_int");
//query execution
q_Result1 = q_String1.execute();
//Update Users Table
//query object
q_String2 = new Query(datasource=Application.dsn,name="q_UpdateTraineeInfo2");
//query string
q_String2.setSQL("UPDATE dct_Users SET
employeeNumber = :updated_lms ,fName = :fName, lName = :lName, email = :email
WHERE employeeNumber = :trainee_lmsID");
//query parameters
q_String2.addParam(name="fName",value=FORM.fName,cfsqltype="cf_sql_varchar");
q_String2.addParam(name="lName",value=FORM.lName,cfsqltype="cf_sql_varchar");
q_String2.addParam(name="email",value=FORM.email,cfsqltype="cf_sql_varchar");
q_String2.addParam(name="trainee_lmsID",value=FORM.lms,cfsqltype="cf_sql_int");
q_String2.addParam(name="updated_lms",value=FORM.updated_lms,cfsqltype="cf_sql_int");
//query execution
q_Result2 = q_String2.execute();
WriteOutput("<span class=""success"">" & FORM.fName &" "& FORM.lName & " record updated successfully!</span>");
}
</cfscript>
Copy link to clipboard
Copied
Probably because the "new" keyword and script-based queries weren't introduced until ColdFusion 9, so they would be unavailable in ColdFusion 8.
-Carl V.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now