Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Invaild CFML construct

New Here ,
Sep 04, 2013 Sep 04, 2013

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>

583
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Sep 09, 2013 Sep 09, 2013
LATEST

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources