?
Solved

ColdFusion Query

Posted on 2000-03-21
8
Medium Priority
?
153 Views
Last Modified: 2013-12-24
Is there a way that I can assign the query I just ran in a <CFQUERY> tag to a variable so I can store the actual SQL text? Does the Query Object have a property that contains the query?
0
Comment
Question by:jcorbin
  • 2
  • 2
  • 2
  • +2
8 Comments
 
LVL 2

Expert Comment

by:dlewis9
ID: 2641740
You can store it in a variable first, and then reference it later like this:

<CFSET sqltext = "SELECT * FROM TABLE">

<CFQUERY NAME="qry" DATASOURCE="datasource">
#sqltext#
</CFQUERY>

Then, you can use sqltext after the query has been run..
0
 
LVL 5

Expert Comment

by:nathans
ID: 2643382
No, the Query Object does not store the sql.  Of couse tyou could do it like dlewis9 has said but that is not what you asked is it.  So the answer to your question is NO the query object does not have a object that contains the sql text in it.
0
 

Expert Comment

by:smuniasamy
ID: 2644922
I agree with nathans. Query object does not store the sql value.

I assume that u want to store the sql value somewhere for future use.

U can construct the query using the variable and execute it like what dlewis9 said.

<CFSET sqltext = "SELECT * FROM TABLE">

<CFQUERY NAME="qry" DATASOURCE="datasource">
#sqltext#
</CFQUERY>

Then u can store the value in the form. That query(sql) can be executed in the consecutive pages. It can also be used while reloading the page.

I believe that this is what u asked. Good luck
0
Fill in the form and get your FREE NFR key NOW!

Veeam is happy to provide a FREE NFR server license to certified engineers, trainers, and bloggers.  It allows for the non‑production use of Veeam Agent for Microsoft Windows. This license is valid for five workstations and two servers.

 
LVL 2

Expert Comment

by:kc5sig
ID: 2675909
If I'm reading your question right, you want to create a page with a CFQuery and then output both the query's results and the actual query.  As mentioned by both smuniasamy and dlewis9 you can use the CFSet tag to define the actual query.  Check the exact length of the cfset tag though, since it may limit string lengths to 254 characters or something silly like that.  I haven't tested this, but if I'm reading your question right, this should work:

<cfset #sql1# = "Select * From Table">
<cfset #sql2# = "Where <criteria>">
<cfset #sql3# = "Order By <whatever>">

<cfquery name="Testit" datasource="source" dbtype="ODBC">
#Sql1#
#Sql2#
#Sql3#
</cfquery>

<html>
<head>
</head>
<body>
<cfoutput>
Results for Query:<br>
#Sql1#<br>
#Sql2#<br>
#Sql3#<br>
</cfoutput>
<cfoutput query="Testit">
....(Insert your output here)
</cfoutput>
</body>
</html>

That looks like it will work, but that's only if I'm reading what you're wanting to have done right.

Hatton Humphrey
0
 
LVL 5

Expert Comment

by:nathans
ID: 2907382
Please Grade this one

You have several answers

Grade this for someone.
0
 

Author Comment

by:jcorbin
ID: 2908454
None of the answers do what I need
0
 
LVL 2

Accepted Solution

by:
kc5sig earned 300 total points
ID: 2908555
Unfortunately I do not think that there is a way to report what specific SQL statements are used in a query without first setting them to a variable name or names as I mentioned in my previous comment.

Hatton
0
 

Author Comment

by:jcorbin
ID: 2909017
Comment accepted as answer
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Objective of This Article In 1990’s, when I was a budding software professional, I had a lot of confusion about which stream or technology, I had to choose to build my career. In those days, I had lot of confusion like whether to choose System so…
Lease-to-own eliminates the expenditure of hardware replacement and allows you to pay off the server over time. Usually, this is much cheaper than leasing servers. Think of lease-to-own as credit without interest.
The purpose of this video is to demonstrate how to exclude a particular blog category from the main blog page. This is can be used when a category already has its own tab, or you simply want certain types of posts not to show up on the main blog. …
The purpose of this video is to demonstrate how to reset a WordPress password if you are locked out and cannot reset the password. A typical use would be if you cannot access the email to which WordPress would send the password recovery email to…
Suggested Courses

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question