Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Andreh

Erro no Loop ASP XML

Recommended Posts

Olá

 

Precisava gerar um relatório de produtos vendidos por fornecedor mas os dados estavam gravados em uma string em meu bd. Dei uma lida sobre o xmldom (como o pessoal aqui do forum me recomendou) e consegui separar a string pegando assim os valores.

 

Mas no loop dá erro. O que deveria ocorrer é o seguinte.

Pegar na primeira linha do bd no campo "produto" separar a string e imprimir na tela;

passar para a segunda linha do bd no campo "produto" pegar a outra string separar e imprimir na tela e assim por diante.

 

O que ocorre é que ele pega a primeira string, separa, imprimi na tela; daí pega a mesma string e repete a operação.

 

 

O código:

ASP [/tr][tr]<%

'Abre conexão

Set objCon = Server.CreateObject("ADODB.Connection")

objCon.Open Application("minhaconexao")

'Cria recordset

strQ = "SELECT * FROM pedidos Where status = 2 ORDER BY data_pagamento DESC"

Set objRS = objCon.Execute(strQ)

 

' Inicia o xml

Dim XMLDoc, XMLItems

Dim produtos

Set XMLDoc = Server.CreateObject("Microsoft.XMLDOM")

XMLDoc.loadXML objRS("produtos")

Set XMLItems = XMLDoc.documentElement

 

'Aqui seria o loop dos registros no bd

While NOT objRS.EOF

 

' Aqui ele pega a string e separa os valores

For Each item in XMLItems.childNodes

response.write item.attributes.getNamedItem("id").text & " "& item.attributes.getNamedItem("nome").text &"<br>"

Next

 

'Aqui seria a instrução pra ir pra segunda linha do db e repetir o procedimento

objRS.MoveNext()

Wend

 

'Aqui fecho o recordset

Set objRS = nothing

%>

[/tr]

 

Não sei se expliquei direito, mas

agradeço por qualquer ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No bd eu tenho o campo "produtos" dentro de uma tabela chamada "pedidos".quando utilizo o codigo acima ele me retorna os valores: 12 cd player25 tv 2012 cd player25 tv 2012 cd player25 tv 20e não vai para o proximo registro, o correto seria me mostrar 12 cd player25 tv 2036 radio portátil42 microcomputador75 impressora35 cd virgemAlguma idéia de onde estou errando?Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca isso dentro do loop whileXMLDoc.loadXML objRS("produtos")Set XMLItems = XMLDoc.documentElementvoce muda o registro, porem nao le novamente o conteudo... por isso mostra a mesma coisa...ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.