Ir para conteúdo

POWERED BY:

Arquivado

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

bgssilva

Consulta a Banco de Dados

Recommended Posts

Estou com um problema que não consigo resolver....Ao selecionar um item de uma lista concateno tal item na clausula WHERE de minha consulta SQL....Só que o que acontece.... a consulta não retorna valor nenhum... o SQL esta errado? Não! Como eu sei.... mandei imprimir na tela a SQL contendo o criterio da minha lista... copio o SQL e colo no Access como consulta nativa e todos os valores aparecem sem problemas.....Não sei mais o que fazer... alguem ja passou por isso?Mais tarde estarei editando esse post e colocando o link da pagina para facilitar a visualização do problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhor ainda. Posta o código, senão fica difícil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bgssilva, eu ja pessei por isso sim, provavelmente é alguem erro em algum outro lugar de sua pagina, nao necessariamente no seu sql, mas posta ai que fica bem amis facil pra eu poder te falar algo mais concreto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma vez passei por isso.... era problema na instrução sql do codigo, mexi e remexi... e arrumou... tenho quase certeza que algo deve estar com problema, ou é o sql, ou é a exibição dos resutados... você ta deixando um espaço pra nao colar as palavras uma nas outras ?Ex:SELECT * FROM nomEnt WHERE nomEnt=testeAnd ID = 2teste Colado com And do proximo filtro...Coloca a instrução e o erro que dá aí pra gente dar uma olhada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é mas já coloquei o código sozinho na página e não retorno os valores.....acho que pode ser alguma coisa com caracteres especiais.... vejam:'verifico se as sessions estao preenchidasif session("nome") <> "" and session("secao") <> "" and session("tipo") <> "" then 'abro a conexao Set Conexao = Server.CreateObject("ADODB.Connection")Conexao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\home\tradiz\dados\controledd.mdb;"Conexao.Open'comando SQL concatenadoComandoSQL = "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" Set rs = Conexao.Execute (ComandoSQL)response.write "<BR><BR>" & ComandoSQL & "<BR><BR>"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 ifend if%>o Que acontece.... removendo os criterios.... obtenho resposta... então fui inserindo novamente cada um dos criterios ate que descobri que quando coloco o criterio "Tradutor.Secao='" & session("secao") & "' and..." não retorna mais nada pra mim....estou achando que são caracteres especiais porque a seção contem o seguinte texto: "Digital Photography>Computers & Peripherals>CD & DVD Creation - Mac>CD Burners"como resolver isso? ja tentei replace e nao obtive exito.... ta dificil

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não dá erro?

não dá erro nenhum.... simplesmente não aparece nada no resultado. O difícil de entender é que uma vez entre aspas os caracteres especiais deveriam deixar de serem especiais... hehehe.... mas ao imprimir na página aparece certinho... veja: 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.Datasó separei pra indicar o criterio que faz com que nao retorne valor algum mesmo sabendo que ao colar o codigo direto no access a consulta me mostra os resultados sem problemas.já to enlouquecendo

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma coisa que eu perecebi, quando você esta na seu query de SQL e vai para a proxima linha, você nao esta concatenando as linhas, isso no asp vai dar erro:SQL="Select Nome_Cli, Idade_Cli, Sexo_Cli "&_" Endereco_Cli, Sobrenome_Cli "&_" Where Sexo_Cli='"& M &"'tipo assim..... e você nao colocou o "&_ para concatenar as linhas, nao sei se isso seria a resolução do problema, mas ja é uma coisa que percebi...mas vou olhar ainda hoje, pois ja estou indo embora do trablho e qualquer novidade te aviso ai...abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma coisa que eu perecebi, quando você esta na seu query de SQL e vai para a proxima linha, você nao esta concatenando as linhas, isso no asp vai dar erro:SQL="Select Nome_Cli, Idade_Cli, Sexo_Cli "&_" Endereco_Cli, Sobrenome_Cli "&_" Where Sexo_Cli='"& M &"'tipo assim..... e você nao colocou o "&_ para concatenar as linhas, nao sei se isso seria a resolução do problema, mas ja é uma coisa que percebi...mas vou olhar ainda hoje, pois ja estou indo embora do trablho e qualquer novidade te aviso ai...abraços

Veja bem.... eu não uso o & pra nada.... acontece que o nome da seção tem & e isso eu nao posso mudar.... preciso é arrumar um jeito de passar isso pro SQL e fazer funcionar.... ta dificil.... nao to conseguindo mesmo. Não posso nem usar o replace pq ai ele nao acha a secao obviamente por substituir um caracter que compoe o seu nome.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros colegas, consegui resolver... o problema era realmente com os caracteres especiais.... navegando por este mesmo fórum localizei um post que resolveu meus problemas!lá vai.

http://forum.imasters.com.br/index.php?showtopic=181232Private 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

Não consegui chamar a função mas a rotina em si resolveu meu problema... obrigado a todos. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

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.