4 Replies Latest reply on Apr 8, 2011 12:56 PM by sockerdad

    Passing the timestamp

    sockerdad

      I've discovered an interesting problem where suggested solutions don't seem to work.

       

      I need to pass a DB2 timestamp to a module.  Here's what I've been trying:

       

      The timestamp from the table is "2011-04-08 08:21:09.995639"

       

      I use URLEncodeFormat to change the spaces, and prepare to pass "2011%2D04%2D08%2008%3A21%3A09%2E995639"

      <cfset templeaveid =  #URLEncodedFormat(timestamp)# />

       

      The passing code is:

      <a href="dsp_pleave_edit.cfm?leaveid=#templeaveid#">Update</a>

      When I get to the dsp_pleave_edit.cfm module, I dump the value (because I keep getting nothing) an lo! and behold, it's an empty string!  Yes, I've tried it in ts raw form and decoded form.  Both give the empty string.

       

      <cfdump var=#URL.leaveid#><br />
      <cfdump var=#URLDecode(URL.leaveid)#><br />

       

       

      [empty string]
      [empty string]

      What am I doing wrong?  No, I cannot use another field, the timestamp is the only unique row identifier on this table.  This is definitely a stumper!

        • 1. Re: Passing the timestamp
          Dan Bracuk Level 5

          Pass it as a numeric string.  When you receive it, use ParseDateTime to change it back to a timestamp.

          • 2. Re: Passing the timestamp
            sockerdad Level 1

            OK, I converted the date to a straight numeric string:

             

            <cfset tstampDate =
                 Left(#get_personal_leave.ROW_ADD_TSTAMP#, 4)
              & MID(#get_personal_leave.ROW_ADD_TSTAMP#, 6, 2)
              & MID(#get_personal_leave.ROW_ADD_TSTAMP#, 9, 2)
              & MID(#get_personal_leave.ROW_ADD_TSTAMP#, 12, 2)
              & MID(#get_personal_leave.ROW_ADD_TSTAMP#, 15, 2)
              & MID(#get_personal_leave.ROW_ADD_TSTAMP#, 18, 2)
              & MID(#get_personal_leave.ROW_ADD_TSTAMP#, 21, 6)/>

            <cfdump var=#tstampDate#>

            Which gives me:  20110408082109995639

             

            and I still passed nothing.  So I tried a U in front of the string (for Update), and all I got was the U!  It's not passing the field's value. Why?  The production example I copied worked great:

             

            PROD:

              <a href="dsp_employee_edit.cfm?userid=U#get_isb_employees.USER_ID#">Update</a>

            Mine

              <a href="dsp_pleave_edit.cfm?leaveid=U#tstampDate#">Update</a>

            And I use identical code on the receiving end (<cfdump var=#URL.userid#><br />) to see what I passed.

             

            I noticed that the IE address bar shows the field for the production as:

            dsp_employee_edit.cfm?userid=UMV370

             

            but mine is showing as:

            dsp_pleave_edit.cfm?leaveid=U#tstampDate#

             

            This suggests that the value within the pound signs isn't being translated to any sort of a value.  What would cause that?

            • 3. Re: Passing the timestamp
              Dan Bracuk Level 5

              Is that anchor tag inside a cfoutput block?

              • 4. Re: Passing the timestamp
                sockerdad Level 1

                No, it's in a table that is inside a cfform...and that's the answer.   As soon as I put it in a cfoutput block, I got the date.

                 

                Thanks once again for saving the day!