Here it is,

----------------------------------------------------------------------------
----------------------------------------------------------------------------
------------------------

-- Author: Taco Fleur ([EMAIL PROTECTED]) 
-- Function: Returns an XML string from a FOR XML clause 
-- Credit: I could not have come this far without the help of Hillaire from
Experts-Exchange. 
-- Copyright: This code can be used freely as long as this header remains
intact. 
-- Requirements: MS SQL 2000 (SP3) 
-- Known issues: The current limit of the returned XML document is 4000 
----------------------------------------------------------------------------
----------------------------------------------------------------------------
------------------------

CREATE PROCEDURE [dbo].[sp_forXML] 
( 
        @serverName VARCHAR(40), 
        @databaseName VARCHAR(40), 
        @selectStatement TEXT, 
        @xml NVARCHAR(4000) OUTPUT 
) 
AS 

DECLARE         @returnCode INT, -- the status code returned from calls to
sp_OA 
                @objStream INT, -- the ADO stream object 
                @objCommand INT, -- the ADO command object 
                @errorSource VARCHAR(2550), 
                @errorDescription VARCHAR(2550), 
                @connectionString VARCHAR(1000), 
                @filesize INT, 
                @objProperty INT, 
                @objOutputStream INT 

SET @connectionString = 'Data Source=' + @serverName + '; Provider=SQLOLEDB;
Initial Catalog=' + @databaseName + '; Integrated Security=SSPI'

EXEC @returnCode = sp_OACreate 'ADODB.Stream', @objStream OUTPUT 
IF @returnCode <> 0 
BEGIN 
        EXEC sp_OAGetErrorInfo @objStream, @errorSource OUTPUT,
@errorDescription OUTPUT 
        SELECT 'Error ADODB.Stream: ', @errorSource, @errorDescription 
END 

EXEC @returnCode = sp_OACreate 'ADODB.Command', @objCommand OUTPUT 
IF @returnCode <> 0 
BEGIN 
        EXEC sp_OAGetErrorInfo @objStream, @errorSource OUTPUT,
@errorDescription OUTPUT 
        SELECT 'Error ADODB.Command: ', @errorSource, @errorDescription 
END 

EXEC @returnCode = sp_OASetProperty @objCommand, 'ActiveConnection',
@connectionString 
IF @returnCode <> 0 
BEGIN 
        EXEC sp_OAGetErrorInfo @objStream, @errorSource OUTPUT,
@errorDescription OUTPUT 
        SELECT 'Error ActiveConnection: ', @errorSource, @errorDescription 
END 

EXEC @returnCode = sp_OASetProperty @objCommand, 'CommandText',
@selectStatement 
IF @returnCode <> 0 
BEGIN 
        EXEC sp_OAGetErrorInfo @objStream, @errorSource OUTPUT,
@errorDescription OUTPUT 
        SELECT 'Error CommandText: ', @errorSource, @errorDescription 
END 

EXEC @returnCode = sp_OAMethod @objStream,'Open' 
IF @returnCode <> 0 
BEGIN 
        EXEC sp_OAGetErrorInfo @objStream, @errorSource OUTPUT,
@errorDescription OUTPUT 
        SELECT 'Error Open: ', @errorSource, @errorDescription 
END 

--Get a pointer to the properties collection 
EXEC @returnCode = sp_OAGetProperty @objCommand, 'Properties', @objProperty
OUTPUT 
IF @returnCode <> 0 
BEGIN 
        EXEC sp_OAGetErrorInfo @objStream, @errorSource OUTPUT,
@errorDescription OUTPUT 
        SELECT 'Error Properties: ', @errorSource, @errorDescription 
END 

-- Get a pointer to the "Output Stream" property 
EXEC @returnCode = sp_OAMethod @objProperty, 'Item', @objOutputStream OUT,
'Output Stream' 
IF @returnCode <> 0 
BEGIN 
        EXEC sp_OAGetErrorInfo @objStream, @errorSource OUTPUT,
@errorDescription OUTPUT 
        SELECT 'Error Item: ', @errorSource, @errorDescription 
END 

-- Set Property value 
EXEC @returnCode = sp_OASetProperty @objOutputStream, 'Value', @objStream 
IF @returnCode <> 0 
BEGIN 
        EXEC sp_OAGetErrorInfo @objStream, @errorSource OUTPUT,
@errorDescription OUTPUT 
        SELECT 'Error Value: ', @errorSource, @errorDescription 
END 

-- Invoke execute method 
EXEC sp_OAMethod @objCommand, 'Execute', null, null, null, 1024 
IF @returnCode <> 0 
BEGIN 
        EXEC sp_OAGetErrorInfo @objStream, @errorSource OUTPUT,
@errorDescription OUTPUT 
        SELECT 'Error Execute: ', @errorSource, @errorDescription 
END 

-- Check output stream size 
EXEC @returnCode = sp_OAGetProperty @objStream, 'Size', @fileSize OUT 
IF  @filesize < 4000 
BEGIN 
     -- ReadText 
     EXEC @returnCode = sp_OAMethod @objStream,'ReadText', @xml OUT 
     IF @returnCode <> 0 
     BEGIN 
          EXEC sp_OAGetErrorInfo @objStream, @errorSource OUTPUT,
@errorDescription OUTPUT 
          SELECT 'Error ReadText: ', @errorSource, @errorDescription 
     END 
END 
ELSE 
BEGIN 
     SET @xml = '<root><error>Output is too large to fit nvarchar(4000)
variable</error></root>' 
END 

SELECT @xml AS 'Result' 

-- Clean up. 
EXEC @returnCode = sp_OADestroy @objStream 
EXEC @returnCode = sp_OADestroy @objCommand 
EXEC @returnCode = sp_OADestroy @objProperty 
EXEC @returnCode = sp_OADestroy @objOutputStream 

GO 




DECLARE @RC int 
DECLARE @xml nvarchar(4000) 
DECLARE @serverName VARCHAR(40) 
DECLARE @databaseName VARCHAR(40) 

SET @databaseName = DB_NAME() 
EXEC [sp_forXML] @xml = @xml OUTPUT , @serverName = @@SERVERNAME,
@databaseName = @databaseName, @selectStatement = 'SELECT             1 AS
Tag, 

                NULL AS Parent, 
                ''<!-- This XML package captures a complete resultset of a
contact before edits -->'' AS [contact!1!xml],

                contact.pkIDContact AS [contact!1!pkIDContact], 
                contact.fkPerson AS [contact!1!fkPerson!element], 
                contact.fkOrganisation AS
[contact!1!fkOrganisation!element], 
                contact.positionName AS [contact!1!positionName!element], 
                contact.fkPositionType AS
[contact!1!fkPositionType!element], 
                contact.positionType AS [contact!1!positionType!element], 
                contact.fkAreaOfResponsibility AS
[contact!1!fkAreaOfResponsibility!element], 
                contact.areaOfResponsibility AS
[contact!1!areaOfResponsibility!element], 
                contact.email AS [contact!1!email!element], 
                contact.telephoneCountryCode AS
[contact!1!telephoneCountryCode!element], 
                contact.telephoneAreaCode AS
[contact!1!telephoneAreaCode!element], 
                contact.telephone AS [contact!1!telephone!element], 
                contact.extension AS [contact!1!extension!element], 
                contact.workMobileCountryCode AS
[contact!1!workMobileCountryCode!element], 
                contact.workMobile AS [contact!1!workMobile!element], 
                contact.faxCountryCode AS
[contact!1!faxCountryCode!element], 
                contact.faxAreaCode AS [contact!1!faxAreaCode!element], 
                contact.fax AS [contact!1!fax!element], 
                contact.sectionName AS [contact!1!sectionName!element], 
                contact.fkContactCoordinator AS
[contact!1!fkContactCoordinator!element], 
                contact.contactCoordinator AS
[contact!1!contactCoordinator!element], 
                contact.fkNominatedAdmin AS
[contact!1!fkNominatedAdmin!element], 
                contact.nominatedAdmin AS
[contact!1!nominatedAdmin!element], 
                contact.fkStatus AS [contact!1!fkStatus!element], 
                contact.locked AS [contact!1!locked!element], 
                person.fkTitle AS [person!2!fkTitle], 
                person.title AS [person!2!title!element], 
                person.salutation AS [person!2!salutation!element], 
                person.firstName AS [person!2!firstName!element], 
                person.initial AS [person!2!initial!element], 
                person.surname AS [person!2!surname!element], 
                person.mobileCountryCode AS
[person!2!mobileCountryCode!element], 
                person.mobile AS [person!2!mobile!element], 
                person.partnerFullName AS
[person!2!partnerFullName!element], 
                person.dateOfBirth AS [person!2!dateOfBirth!element], 
                person.children AS [person!2!children!element], 
                person.smoker AS [person!2!smoker!element], 
                person.gender AS [person!2!gender!element], 
                person.specialRequirement AS
[person!2!specialRequirement!element], 
                person.fkStatus AS [person!2!fkStatus!element], 
                person.dateStamp AS [person!2!dateStamp!element], 
                person.rowVersion AS [person!2!rowVersion!element], 
                organisation.organisationName AS
[organisation!3!organisationName], 
                organisation.abn AS [organisation!3!abn!element], 
                organisation.supplier AS [organisation!3!supplier!element], 
                organisation.supplierAgreementNo AS
[organisation!3!supplierAgreementNo!element], 
                organisation.email AS [organisation!3!email!element], 
                organisation.url AS [organisation!3!url!element], 
                organisation.telephoneCountryCode AS
[organisation!3!telephoneCountryCode!element], 
                organisation.telephoneAreaCode AS
[organisation!3!telephoneAreaCode!element], 
                organisation.telephone AS
[organisation!3!telephone!element], 
                organisation.faxCountryCode AS
[organisation!3!faxCountryCode!element], 
                organisation.faxAreaCode AS
[organisation!3!faxAreaCode!element], 
                organisation.fax AS [organisation!3!fax!element], 
                organisation.fkStatus AS [organisation!3!fkStatus!element], 
                organisation.locked AS [organisation!3!locked!element], 
                contact_address.fkAddress AS [contact_address!4!fkAddress], 
                contact_address.buildingProperty AS
[contact_address!4!buildingProperty!element], 
                contact_address.levelFloor AS
[contact_address!4!levelFloor!element], 
                contact_address.roomSuite AS
[contact_address!4!roomSuite!element], 
                address.fkAddressType AS [address!5!roomSuite], 
                address.addressType AS [address!5!addressType!element], 
                address.boxPostal AS [address!5!boxPostal!element], 
                address.buildingProperty AS
[address!5!buildingProperty!element], 
                address.streetNumber AS [address!5!streetNumber!element], 
                address.streetName AS [address!5!streetName!element], 
                address.fkStreetType AS [address!5!fkStreetType!element], 
                address.streetType AS [address!5!streetType!element], 
                address.fkCountry AS [address!5!fkCountry!element], 
                address.country AS [address!5!country!element], 
                address.fkState AS [address!5!fkState!element], 
                address.state AS [address!5!state!element], 
                address.fkSuburb AS [address!5!fkSuburb!element], 
                address.suburb AS [address!5!suburb!element], 
                address.postalCode AS [address!5!postalCode!element], 
                address.fkStatus AS [address!5!fkStatus!element], 
                address.locked AS [address!5!locked!element] 
FROM            tblContact contact 
INNER JOIN      tblPerson person 
ON              contact.fkPerson = person.pkIDPerson 
INNER JOIN      tblContact_Address contact_address 
ON              contact.pkIDContact = contact_address.fkContact 
INNER JOIN      tblOrganisation organisation 
ON              contact.fkOrganisation = organisation.pkIDOrganisation 
INNER JOIN      tblAddress address 
ON              contact_address.fkAddress = address.pkIDAddress 
WHERE           (contact.pkIDContact = 61548) 

UNION ALL 

SELECT          2 AS Tag, 
                1 AS Parent, 
                ''<!-- This XML package captures a complete resultset of a
contact before edits -->'' AS [contact!1!xml],

                contact.pkIDContact, 
                contact.fkPerson, 
                contact.fkOrganisation, 
                contact.positionName, 
                contact.fkPositionType, 
                contact.positionType, 
                contact.fkAreaOfResponsibility, 
                contact.areaOfResponsibility, 
                contact.email, 
                contact.telephoneCountryCode, 
                contact.telephoneAreaCode, 
                contact.telephone, 
                contact.extension, 
                contact.workMobileCountryCode, 
                contact.workMobile, 
                contact.faxCountryCode, 
                contact.faxAreaCode, 
                contact.fax, 
                contact.sectionName, 
                contact.fkContactCoordinator, 
                contact.contactCoordinator, 
                contact.fkNominatedAdmin, 
                contact.nominatedAdmin, 
                contact.fkStatus, 
                contact.locked, 
                person.fkTitle, 
                person.title, 
                person.salutation, 
                person.firstName, 
                person.initial, 
                person.surname, 
                person.mobileCountryCode, 
                person.mobile, 
                person.partnerFullName, 
                person.dateOfBirth, 
                person.children, 
                person.smoker, 
                person.gender, 
                person.specialRequirement, 
                person.fkStatus, 
                person.dateStamp, 
                person.rowVersion, 
                organisation.organisationName, 
                organisation.abn, 
                organisation.supplier, 
                organisation.supplierAgreementNo, 
                organisation.email, 
                organisation.url, 
                organisation.telephoneCountryCode, 
                organisation.telephoneAreaCode, 
                organisation.telephone, 
                organisation.faxCountryCode, 
                organisation.faxAreaCode, 
                organisation.fax, 
                organisation.fkStatus, 
                organisation.locked, 
                contact_address.fkAddress, 
                contact_address.buildingProperty, 
                contact_address.levelFloor, 
                contact_address.roomSuite, 
                address.fkAddressType, 
                address.addressType, 
                address.boxPostal, 
                address.buildingProperty, 
                address.streetNumber, 
                address.streetName, 
                address.fkStreetType, 
                address.streetType, 
                address.fkCountry, 
                address.country, 
                address.fkState, 
                address.state, 
                address.fkSuburb, 
                address.suburb, 
                address.postalCode, 
                address.fkStatus, 
                address.locked 
FROM            tblContact contact 
INNER JOIN      tblPerson person 
ON              contact.fkPerson = person.pkIDPerson 
INNER JOIN      tblContact_Address contact_address 
ON              contact.pkIDContact = contact_address.fkContact 
INNER JOIN      tblOrganisation organisation 
ON              contact.fkOrganisation = organisation.pkIDOrganisation 
INNER JOIN      tblAddress address 
ON              contact_address.fkAddress = address.pkIDAddress 
WHERE           (contact.pkIDContact = 61548) 

UNION ALL 

SELECT          3 AS Tag, 
                2 AS Parent, 
                ''<!-- This XML package captures a complete resultset of a
contact before edits -->'' AS [contact!1!xml],

                contact.pkIDContact, 
                contact.fkPerson, 
                contact.fkOrganisation, 
                contact.positionName, 
                contact.fkPositionType, 
                contact.positionType, 
                contact.fkAreaOfResponsibility, 
                contact.areaOfResponsibility, 
                contact.email, 
                contact.telephoneCountryCode, 
                contact.telephoneAreaCode, 
                contact.telephone, 
                contact.extension, 
                contact.workMobileCountryCode, 
                contact.workMobile, 
                contact.faxCountryCode, 
                contact.faxAreaCode, 
                contact.fax, 
                contact.sectionName, 
                contact.fkContactCoordinator, 
                contact.contactCoordinator, 
                contact.fkNominatedAdmin, 
                contact.nominatedAdmin, 
                contact.fkStatus, 
                contact.locked, 
                person.fkTitle, 
                person.title, 
                person.salutation, 
                person.firstName, 
                person.initial, 
                person.surname, 
                person.mobileCountryCode, 
                person.mobile, 
                person.partnerFullName, 
                person.dateOfBirth, 
                person.children, 
                person.smoker, 
                person.gender, 
                person.specialRequirement, 
                person.fkStatus, 
                person.dateStamp, 
                person.rowVersion, 
                organisation.organisationName, 
                organisation.abn, 
                organisation.supplier, 
                organisation.supplierAgreementNo, 
                organisation.email, 
                organisation.url, 
                organisation.telephoneCountryCode, 
                organisation.telephoneAreaCode, 
                organisation.telephone, 
                organisation.faxCountryCode, 
                organisation.faxAreaCode, 
                organisation.fax, 
                organisation.fkStatus, 
                organisation.locked, 
                contact_address.fkAddress, 
                contact_address.buildingProperty, 
                contact_address.levelFloor, 
                contact_address.roomSuite, 
                address.fkAddressType, 
                address.addressType, 
                address.boxPostal, 
                address.buildingProperty, 
                address.streetNumber, 
                address.streetName, 
                address.fkStreetType, 
                address.streetType, 
                address.fkCountry, 
                address.country, 
                address.fkState, 
                address.state, 
                address.fkSuburb, 
                address.suburb, 
                address.postalCode, 
                address.fkStatus, 
                address.locked 
FROM            tblContact contact 
INNER JOIN      tblPerson person 
ON              contact.fkPerson = person.pkIDPerson 
INNER JOIN      tblContact_Address contact_address 
ON              contact.pkIDContact = contact_address.fkContact 
INNER JOIN      tblOrganisation organisation 
ON              contact.fkOrganisation = organisation.pkIDOrganisation 
INNER JOIN      tblAddress address 
ON              contact_address.fkAddress = address.pkIDAddress 
WHERE           (contact.pkIDContact = 61548) 

UNION ALL 

SELECT          4 AS Tag, 
                3 AS Parent, 
                ''<!-- This XML package captures a complete resultset of a
contact before edits -->'' AS [contact!1!xml],

                contact.pkIDContact, 
                contact.fkPerson, 
                contact.fkOrganisation, 
                contact.positionName, 
                contact.fkPositionType, 
                contact.positionType, 
                contact.fkAreaOfResponsibility, 
                contact.areaOfResponsibility, 
                contact.email, 
                contact.telephoneCountryCode, 
                contact.telephoneAreaCode, 
                contact.telephone, 
                contact.extension, 
                contact.workMobileCountryCode, 
                contact.workMobile, 
                contact.faxCountryCode, 
                contact.faxAreaCode, 
                contact.fax, 
                contact.sectionName, 
                contact.fkContactCoordinator, 
                contact.contactCoordinator, 
                contact.fkNominatedAdmin, 
                contact.nominatedAdmin, 
                contact.fkStatus, 
                contact.locked, 
                person.fkTitle, 
                person.title, 
                person.salutation, 
                person.firstName, 
                person.initial, 
                person.surname, 
                person.mobileCountryCode, 
                person.mobile, 
                person.partnerFullName, 
                person.dateOfBirth, 
                person.children, 
                person.smoker, 
                person.gender, 
                person.specialRequirement, 
                person.fkStatus, 
                person.dateStamp, 
                person.rowVersion, 
                organisation.organisationName, 
                organisation.abn, 
                organisation.supplier, 
                organisation.supplierAgreementNo, 
                organisation.email, 
                organisation.url, 
                organisation.telephoneCountryCode, 
                organisation.telephoneAreaCode, 
                organisation.telephone, 
                organisation.faxCountryCode, 
                organisation.faxAreaCode, 
                organisation.fax, 
                organisation.fkStatus, 
                organisation.locked, 
                contact_address.fkAddress, 
                contact_address.buildingProperty, 
                contact_address.levelFloor, 
                contact_address.roomSuite, 
                address.fkAddressType, 
                address.addressType, 
                address.boxPostal, 
                address.buildingProperty, 
                address.streetNumber, 
                address.streetName, 
                address.fkStreetType, 
                address.streetType, 
                address.fkCountry, 
                address.country, 
                address.fkState, 
                address.state, 
                address.fkSuburb, 
                address.suburb, 
                address.postalCode, 
                address.fkStatus, 
                address.locked 
FROM            tblContact contact 
INNER JOIN      tblPerson person 
ON              contact.fkPerson = person.pkIDPerson 
INNER JOIN      tblContact_Address contact_address 
ON              contact.pkIDContact = contact_address.fkContact 
INNER JOIN      tblOrganisation organisation 
ON              contact.fkOrganisation = organisation.pkIDOrganisation 
INNER JOIN      tblAddress address 
ON              contact_address.fkAddress = address.pkIDAddress 
WHERE           (contact.pkIDContact = 61548) 

UNION ALL 

SELECT          5 AS Tag, 
                4 AS Parent, 
                ''<!-- This XML package captures a complete resultset of a
contact before edits -->'' AS [contact!1!xml],

                contact.pkIDContact, 
                contact.fkPerson, 
                contact.fkOrganisation, 
                contact.positionName, 
                contact.fkPositionType, 
                contact.positionType, 
                contact.fkAreaOfResponsibility, 
                contact.areaOfResponsibility, 
                contact.email, 
                contact.telephoneCountryCode, 
                contact.telephoneAreaCode, 
                contact.telephone, 
                contact.extension, 
                contact.workMobileCountryCode, 
                contact.workMobile, 
                contact.faxCountryCode, 
                contact.faxAreaCode, 
                contact.fax, 
                contact.sectionName, 
                contact.fkContactCoordinator, 
                contact.contactCoordinator, 
                contact.fkNominatedAdmin, 
                contact.nominatedAdmin, 
                contact.fkStatus, 
                contact.locked, 
                person.fkTitle, 
                person.title, 
                person.salutation, 
                person.firstName, 
                person.initial, 
                person.surname, 
                person.mobileCountryCode, 
                person.mobile, 
                person.partnerFullName, 
                person.dateOfBirth, 
                person.children, 
                person.smoker, 
                person.gender, 
                person.specialRequirement, 
                person.fkStatus, 
                person.dateStamp, 
                person.rowVersion, 
                organisation.organisationName, 
                organisation.abn, 
                organisation.supplier, 
                organisation.supplierAgreementNo, 
                organisation.email, 
                organisation.url, 
                organisation.telephoneCountryCode, 
                organisation.telephoneAreaCode, 
                organisation.telephone, 
                organisation.faxCountryCode, 
                organisation.faxAreaCode, 
                organisation.fax, 
                organisation.fkStatus, 
                organisation.locked, 
                contact_address.fkAddress, 
                contact_address.buildingProperty, 
                contact_address.levelFloor, 
                contact_address.roomSuite, 
                address.fkAddressType, 
                address.addressType, 
                address.boxPostal, 
                address.buildingProperty, 
                address.streetNumber, 
                address.streetName, 
                address.fkStreetType, 
                address.streetType, 
                address.fkCountry, 
                address.country, 
                address.fkState, 
                address.state, 
                address.fkSuburb, 
                address.suburb, 
                address.postalCode, 
                address.fkStatus, 
                address.locked 
FROM            tblContact contact 
INNER JOIN      tblPerson person 
ON              contact.fkPerson = person.pkIDPerson 
INNER JOIN      tblContact_Address contact_address 
ON              contact.pkIDContact = contact_address.fkContact 
INNER JOIN      tblOrganisation organisation 
ON              contact.fkOrganisation = organisation.pkIDOrganisation 
INNER JOIN      tblAddress address 
ON              contact_address.fkAddress = address.pkIDAddress 
WHERE           (contact.pkIDContact = 61548) 

FOR XML EXPLICIT' 


Taco Fleur


> -----Original Message-----
> From: Andy Mcshane [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, 18 November 2004 11:08 PM
> To: CF-Talk
> Subject: RE: SQL Query using 'FOR XML' & Coldfusion
> 
> 
> Thanks, I am definitely interested! This would be of a great 
> help to me.
> 
> Andy McShane 
> Head of Development
> Scout7 Ltd, 
> 324a Lichfield Road, 
> Mere Green, 
> Sutton Coldfield 
> West Midlands 
> United Kingdom 
> B74 2UW 
> 
> Telephone: +44 (0)121 323 2640 
> Mobile : 07866 430783 
> Fax: +44 (0)121 323 2010 
> Email: mailto:[EMAIL PROTECTED] 
> Website: www.scout7.com
> 
> 
> -----Original Message-----
> From: Taco Fleur [mailto:[EMAIL PROTECTED] 
> Sent: 18 November 2004 12:58
> To: CF-Talk
> Subject: RE: SQL Query using 'FOR XML' & Coldfusion
> 
> The only way I found to do this is actually get an ADO 
> stream, I wrote an SP that gets the result and stores it into 
> a T-SQL variable.
> 
> If you are interested I can post it when I find it..?
> 
> Taco Fleur
> 
> 
> > -----Original Message-----
> > From: Andy McShane [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, 18 November 2004 8:27 PM
> > To: CF-Talk
> > Subject: RE: SQL Query using 'FOR XML' & Coldfusion
> > 
> > 
> > Can you remember at all how you handled the column names?
> > i.e. 'XML_F52E2B61-18A1-11D1-B105-00805F49916B'.
> > 
> > 
> > -----Original Message-----
> > From: Rob [mailto:[EMAIL PROTECTED]
> > Sent: 17 November 2004 17:42
> > To: CF-Talk
> > Subject: Re: SQL Query using 'FOR XML' & Coldfusion
> > 
> > Yes, you have to loop over the query columns and build a new
> > string with the columns data.
> > 
> > The way you go about it is pretty wacky and I forget the
> > syntax, but I (and others) have posted how to do it to the 
> > list at one point so it should be in the archive (it was like 
> > a year ago though)
> > 
> > On Wed, 17 Nov 2004 07:58:42 -0400, Andy Mcshane
> > <[EMAIL PROTECTED]> wrote:
> > > Hi all. I am trying to utilise the SQL2000 'FOR XML'
> > functionality to
> > return the results of a stored procedure, called from
> > Coldfusion using 'CFStoredProc', as an XML string to my 
> > Coldfusion app. I am having a few problems;
> > > 
> > > When I run the query in the SQL query window the results
> > are exactly
> > > as I
> > want, when I then call the stored procedure from Coldfusion
> > app I get a recordset with multiple rows instead of one 
> > record containing a string and when I look at the 
> > 'ColumnList' property of the query I have mulitple columns 
> > with a naming convention as 
> > 'XML_F52E2B61-18A1-11D1-B105-00805F49916B'.
> > > 
> > > Has anybody managed to use this SQL 'FOR XML' functionality in a
> > Coldfusion app before?
> > > 
> > > 
> > 
> > 
> > 
> > 
> 
> 
> 
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
> Special thanks to the CF Community Suite Gold Sponsor - 
> CFHosting.net http://www.cfhosting.net
> 
> Message: http://www.houseoffusion.com/lists.cfm/link=i:4:184722
> Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
> Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
> Unsubscribe: 
> http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=148
08.13284.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net
http://www.cfhosting.net

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:184806
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to