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

StructInsert issue (n00b with Structures/Arrays)

LEGEND ,
Oct 27, 2010 Oct 27, 2010

Hello, all.

I'm new to working with  Structures, and I'm getting an error message. I'm sure it's old-hat to most of  you - I'm pretty sure this is a rookie mistake.

I'm trying to loop through form fields; I have hidden fields  that contain the original value of displayed fields, to check and see which  fields have been updated. For the fields that have a value different than the  hidden, I'm adding to a structure for updating a database.

I'm getting the following error message:
You  have attempted to dereference a scalar variable of type class java.lang.Boolean as a  structure with members.

Here is the code:

Code:
<cfoutput>
<cfset thisCount = 0 />
<cfloop list="#Form.Fieldnames#" index="idx">
     <cfset thisCount = thisCount + 1 />
     <cfset request.thisData[thisCount] = Form[idx] />     Field: #idx# - Value: #Form[idx]#<br />
     <cfif val(thisCount) mod 9 is 0>
          <cfif trim(request.thisData[2]) neq trim(request.thisData[3]) OR
          trim(request.thisData[4]) neq trim(request.thisData[5]) OR
          trim(request.thisData[6]) neq trim(request.thisData[7]) OR
          trim(request.thisData[8]) neq trim(request.thisData[9])>
          <cfset updateStruct = StructInsert(updateStruct,"Resource_ID",trim(request.thisData[1])) />
          <cfset updateStruct = StructInsert(updateStruct,"bf_approach",trim(request.thisData[2])) />
          <cfset updateStruct = StructInsert(updateStruct,"bf_itrr",trim(request.thisData[4])) />
          <cfset updateStruct = StructInsert(updateStruct,"bf_itrr_sp",trim(request.thisData[6])) />
          <cfset updateStruct = StructInsert(updateStruct,"bf_results",trim(request.thisData[8])) />
     </cfif>
     <cfset thisCount = 0 />
</cfif>
</cfloop>
</cfoutput>

What is this Struct n00b doing wrong?

Thanks,

^_^

698
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

correct answers 1 Correct answer

LEGEND , Oct 27, 2010 Oct 27, 2010

Read the docs for structInsert().  Is this the correct way to use it?

<cfset updateStruct = StructInsert(updateStruct,"Resource_ID",trim(request.thisData[1])) />

Hint: no.

Tip: what does structInsert() return?  Does it return the struct?

Also... structInsert() is a bit of a relic of the past.  You could just do this:

<cfset updateStruct["Resource_ID] = trim(request.thisData[1])>

(note also you do not need trailing slashes on CFML tags.  It's not XML).

--

Adam

Translate
LEGEND ,
Oct 27, 2010 Oct 27, 2010
LATEST

Read the docs for structInsert().  Is this the correct way to use it?

<cfset updateStruct = StructInsert(updateStruct,"Resource_ID",trim(request.thisData[1])) />

Hint: no.

Tip: what does structInsert() return?  Does it return the struct?

Also... structInsert() is a bit of a relic of the past.  You could just do this:

<cfset updateStruct["Resource_ID] = trim(request.thisData[1])>

(note also you do not need trailing slashes on CFML tags.  It's not XML).

--

Adam

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