Ir para conteúdo

POWERED BY:

Arquivado

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

bgssilva

Problemão com instrução SQL

Recommended Posts

Tenho uma instrição SQL que em sua cláusula WHERE concateno informações vindas de um form para estabelecer critérios de resposta.

 

vejam:

 

<%

'Verificação das sessions

if session("nome") <> "" and session("secao") <> "" and session("tipo") <> "" then

 

'Criação e abertura de Conexão

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

Conexao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\home\tradiz\dados\controledd.mdb;"

Conexao.Open

 

'Instrução SQL

ComandoSQL = "SELECT Tradutor.ID, Tradutor.Data, Tradutor.Nome, Tradutor.ItemTrad, Tradutor.Secao, Cores.Descricao, Tradutor.FoiOffLine, Tradutor.FoiPostado, Tradutor.Concluido, Tradutor.Tipo, Tradutor.OQFoiFeito FROM Cores INNER JOIN Tradutor ON Cores.Id = Tradutor.OQFoiFeito WHERE Tradutor.Secao='" & session("secao") & "' and Tradutor.FoiPostado=True AND Tradutor.Concluido=True AND Tradutor.Tipo='" & session("tipo") & "' and tradutor.revisor=" & session("nome") & " AND Tradutor.OQFoiFeito<>30 And Tradutor.OQFoiFeito<>32 And Tradutor.OQFoiFeito<>26 AND Tradutor.ItemComDuvida=False AND Tradutor.Revisado=False and Tradutor.data>=#08/01/2005# ORDER BY Tradutor.Data"

 

'Execução

Set rs = Conexao.Execute (ComandoSQL)

 

'Impressão do código na página

response.write ComandoSQL

 

if not rs.eof then

%>

 

<select name="itenstraduzidos" size="8" class="style26" id="itenstraduzidos">

<option value="---">Itens</option>

<% while not rs.eof %>

<option value="<%=rs.Fields.Item("ID").Value%>|<%=rs.Fields.Item("ItemTrad").Value%>||<%=rs.Fields.Item("Secao").Value%>|||<%=rs.Fields.Item("descricao").Value%>||||<%=rs.Fields.Item("oqfoifeito").Value%>|||||<%=rs.fields.Item("data").Value%>||||||<%=rs.Fields.Item("nome").Value%>" selected><%=rs.Fields.Item("ItemTrad").Value%> - <%=rs.Fields.Item("data").Value%></option>

 

<% rs.movenext %>

<% wend %>

</select>

 

<% end if %>

<% end if %>

 

Quando concateno o critério de Seção não obtenho mais resultado nenhum mesmo sabendo que existem registro para serem retornados.... veja, o sql após a concatenação:

 

SELECT Tradutor.ID, Tradutor.Data, Tradutor.Nome, Tradutor.ItemTrad, Tradutor.Secao, Cores.Descricao, Tradutor.FoiOffLine, Tradutor.FoiPostado, Tradutor.Concluido, Tradutor.Tipo, Tradutor.OQFoiFeito FROM Cores INNER JOIN Tradutor ON Cores.Id = Tradutor.OQFoiFeito WHERE Tradutor.Secao='Digital Photography>Computers & Peripherals>CD & DVD Creation - Mac>CD Burners' and Tradutor.FoiPostado=True AND Tradutor.Concluido=True AND Tradutor.Tipo='I' and tradutor.revisor=4 AND Tradutor.OQFoiFeito<>30 And Tradutor.OQFoiFeito<>32 And Tradutor.OQFoiFeito<>26 AND Tradutor.ItemComDuvida=False AND Tradutor.Revisado=False and Tradutor.data>=#08/01/2005# ORDER BY Tradutor.Data

 

Ao colar esse SQL no Access obtenho oo resultado correto.... mas em minha página ASP obtenho como resposta o recordset vazio.....

 

note que o nome da seção possue caracteres que podem ser ditos como especiais.....

 

tenho o sinal de > e o & também. não sei o que faço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é

if not rs.eof then

e sim

While not rs.eof

{/code]

 

Veja bem caro colega....

 

primeiro eu uso o IF pra verificar se existem registros.... se não simplesmente não faço nada....

 

depois sim eu uso o while...

 

ambos estão no código... mesmo assim obrigado pela leitura.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui graças ao Fórum!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Private Function HTMLDecode(byVal encodedstring) Dim tmp, i tmp = encodedstring tmp = Replace( tmp, "%20", " " ) tmp = Replace( tmp, "%22","""" ) tmp = Replace( tmp, """, chr(34) ) tmp = Replace( tmp, "<" , chr(60) ) tmp = Replace( tmp, ">" , chr(62) ) tmp = Replace( tmp, "&" , chr(38) ) tmp = Replace( tmp, " ", chr(32) ) For i = 1 to 255 tmp = Replace( tmp, "" & i & ";", chr( i ) ) Next HTMLDecode = tmpEnd Function

http://forum.imasters.com.br/index.php?showtopic=181232

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.