Hello, I am newbie in Coldfusion development and I have a question:

I must make a application where I have to use a parameter in a database (and not written in the code).

Example: I have to show a text of a table with a "subtext" of other table. So I do this:

id = 1
text = "This is an #qry_2.subtext#"

id = 1
subtext = "example"

<cfquery datasource="#application.DSN#" name="qry_1">
      SELECT text FROM table1 WHERE id = 1

<cfquery datasource="#application.DSN#" name="qry_2">
      SELECT subtext FROM table2 WHERE id = 1


But only appear "This is an #qry_2.subtext#", and not "This is an example". The Coldfusion can´t read the ## of the string of database and put the subtext of table2.

There is a solution to make the Coldfusion read a ## parameter of a database with process it?

Obs.: Sorry my poor english. I am brazilian. :)

10 Years
Discussion Span
Last Post by arrgh

Sorry, but what you have there is not going to work. Trying to have dynamic content inside text stored in a database table is usually done with percent-sign delimited placeholders (or whatever your delimiter of choice happens to be). Here is an example:

First of all replace the text "#qry_2.subtext#" in table1 with "%placeholder%".
Store the value of qry_1.text in a temporary variable. I usually go with strTemp.
Replace the instances of %placeholder% with the value of qry_2.subtext.

<cfset strTemp = ReplaceNoCase(strTemp,"%placeholder%",qry_2.subtext,"all")>

Output strTemp.

I have used this technique on numerous occasions in the past and it always works for me.


I had a similar problem, and just wrapped the database field contents in:


This works like a dream.


Most of the time, replace() is more efficient.

Geez.. this thread's like 3 years old!

Edited by arrgh: n/a

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.