Gnomo Postado Fevereiro 14, 2008 Denunciar Share Postado Fevereiro 14, 2008 Fala galera! Seguinte..Tenho a tabela notícias com as colunas:ID | Texto | Datapara ler as noticias uso uma QueryString tipo Noticias.asp?noticia=15gostaria de saber como eu faço para na consulta sql imprimir todas as noticiasexceto a noticia 15...já procurei no google já tentei WHERE ID <> request("noticia") mais não consigonenhum resultado...Obrigado... Link para o comentário Compartilhar em outros sites More sharing options...
0 webdeveloper Postado Fevereiro 14, 2008 Denunciar Share Postado Fevereiro 14, 2008 Poste a parte do código que faz o select. Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Fevereiro 14, 2008 Denunciar Share Postado Fevereiro 14, 2008 A ideia é essa mesmo, estranho q não funcione... da algum erro ou a consulta tras de qualquer forma o ID?De qualquer maneira, poste a Sql pra vermos Link para o comentário Compartilhar em outros sites More sharing options...
0 Ted k' Postado Fevereiro 14, 2008 Denunciar Share Postado Fevereiro 14, 2008 tá fazendo isso?sql = "select * from noticias where ID <> '"&Request.QueryString("noticia")&"'" Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Fevereiro 14, 2008 Denunciar Share Postado Fevereiro 14, 2008 tá fazendo isso?sql = "select * from noticias where ID <> '"&Request.QueryString("noticia")&"'" isso so funciona se o campo id for do tipo texto. para numeros: sql = "select * from noticias where ID <> "&Request.QueryString("noticia") ou tente o seguinte noticia=request.querystring("noticia") if noticia="" then noticia=0 sql = "select * from noticias where ID <> "¬icia Link para o comentário Compartilhar em outros sites More sharing options...
0 Gnomo Postado Fevereiro 14, 2008 Autor Denunciar Share Postado Fevereiro 14, 2008 (editado) Na verdade eu fiz uma funcão que imprime uma lista com currículos relacionadosFunction RelacionaCurriculos(Codigo) Set rstOriginal = Server.CreateObject("ADODB.RecordSet") Set rstRelaciona = Server.CreateObject("ADODB.RecordSet") ' Pega valores do currículo original rstOriginal.Open "SELECT Titulo, PosGraduacao, PosOutro, PosOutroTexto, Graduacao, NivelMedio, Tags FROM BE_Profissionais WHERE Codigo="& Codigo, conn If rstOriginal.EOF Then Exit Function Else TituloOriginal = rstOriginal("Titulo") If rstOriginal("PosOutro") = 1 Then PosOutro = rstOriginal("PosOutroTexto") PosOriginal = 0 Else PosOriginal = rstOriginal("PosGraduacao") PosOutro = 0 End If GraduacaoOriginal = rstOriginal("Graduacao") NivelMedioOriginal = rstOriginal("NivelMedio") TagsOriginal = rstOriginal("Tags") End If rstOriginal.Close() ' Tags If TagsOriginal <> "" Then Dim aryCampos(0) aryCampos(0) = "BE_Profissionais.Tags" TagsOriginal = Replace(TagsOriginal,",",chr(13)) aryBuscaResultado = SQLProcura(TagsOriginal, aryCampos) strSQLWhere = strSQLWhere & aryBuscaResultado(0) & " And " strOrdenaBusca = strOrdenaBusca & aryBuscaResultado(1) End If If TituloOriginal <> "" Then Dim aryCampos2(0) aryCampos2(0) = "BE_Profissionais.Titulo" aryBuscaResultado2 = SQLProcura(TituloOriginal, aryCampos2) strSQLWhere = strSQLWhere & aryBuscaResultado2(0) strOrdenaBusca = strOrdenaBusca & aryBuscaResultado2(1) End If ' Compara valores If PosOutro = 0 Then strSQLWhere = strSQLWhere & " And BE_Profissionais.PosOutroTexto = NULL " End If strSQLRelaciona = "SELECT BE_Profissionais.*, BE_Profissionais.Codigo AS CurriculoCod, Usuarios.Nome, BE_AvatarUsuarios.AvatarMinURL FROM Usuarios INNER JOIN BE_Profissionais ON Usuarios.Codigo = BE_Profissionais.Usuario INNER JOIN BE_AvatarUsuarios ON BE_Profissionais.Codigo = BE_AvatarUsuarios.Curriculo WHERE BE_Profissionais.Graduacao = "&GraduacaoOriginal&" Or BE_Profissionais.PosGraduacao = "&PosOriginal&" And BE_Profissionais.Codigo <> "&Codigo&" Or " & strSQLWhere ' Response.Write strSQLRelaciona rstRelaciona.PageSize = 6 rstRelaciona.CacheSize = 6 rstRelaciona.Open strSQLRelaciona, conn Response.Write(" <div class=""related"">") & vbNewLine Response.Write(" <h2>Currículos Relacionados</h2>") & vbNewLine While Not rstRelaciona.EOF Response.Write(" <div class=""line"">") & vbNewLine Cont = 0 While Not rstRelaciona.EOF And Cont < 2 Response.Write(" <div class=""pic"">") & vbNewLine Response.Write(" <div class=""ufoto""><a href="""&CAMINHO_RAIZ_BEMP&"/Curriculo.asp?cid="&rstRelaciona("Id")&"""><img src="""&rstRelaciona("AvatarMinURL")&""" alt="""&AbreviaNome(rstRelaciona("Nome"))&""" title="""&AbreviaNome(rstRelaciona("Nome"))&""" /></a></div>") & vbNewLine Response.Write(" <div class=""unome""><a href="""&CAMINHO_RAIZ_BEMP&"/Curriculo.asp?cid="&rstRelaciona("Id")&""">"&AbreviaNome(rstRelaciona("Nome"))&"</a></div>") & vbNewLine Response.Write(" </div>") & vbNewLine rstRelaciona.MoveNext() Cont = Cont + 1 Wend If Not rstRelaciona.BOF Then Response.Write(" </div>") & vbNewLine Wend If Cont > 0 And Cont < 2 Then Response.Write(" </div>") Cont = Cont + 1 End If Response.Write(" </div>") rstRelaciona.Close() End Function Isso funciona assim voce entra no curriculo do profissional e nele tem os currículos relacionados pelas tags, pela profissao entre outros... e nessa query strSQLRelaciona = "SELECT BE_Profissionais.*, BE_Profissionais.Codigo AS CurriculoCod, Usuarios.Nome, BE_AvatarUsuarios.AvatarMinURL FROM Usuarios INNER JOIN BE_Profissionais ON Usuarios.Codigo = BE_Profissionais.Usuario INNER JOIN BE_AvatarUsuarios ON BE_Profissionais.Codigo = BE_AvatarUsuarios.Curriculo WHERE BE_Profissionais.Graduacao = "&GraduacaoOriginal&" Or BE_Profissionais.PosGraduacao = "&PosOriginal&" And BE_Profissionais.Codigo <> "&Codigo&" Or " & strSQLWhereeu coloquei And BE_Profissionais.Codigo <> "&Codigo&" mais não funciona :\e essa variável vem da função Function RelacionaCurriculos(Codigo)Obrigado... Editado Fevereiro 14, 2008 por Gnomo Link para o comentário Compartilhar em outros sites More sharing options...
0 Ted k' Postado Fevereiro 15, 2008 Denunciar Share Postado Fevereiro 15, 2008 (editado) bareta, testado e comprovado de que se não existir cadastro sem as ASPAS simples, a página gera um erro...nunca nas minhas programações deu erro ou nunca funciou eu fazendo com ASPAS simples, sempre veio registros corretos!!eu usava muito sem as aspas simples, mais de um tempo pra cá percebi que dava erro no sql qudno se deletar todos os registros da tabela!!! Editado Fevereiro 15, 2008 por Ted k' Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Fevereiro 20, 2008 Denunciar Share Postado Fevereiro 20, 2008 (editado) bareta, testado e comprovado de que se não existir cadastro sem as ASPAS simples, a página gera um erro...nunca nas minhas programações deu erro ou nunca funciou eu fazendo com ASPAS simples, sempre veio registros corretos!!eu usava muito sem as aspas simples, mais de um tempo pra cá percebi que dava erro no sql qudno se deletar todos os registros da tabela!!!ted, campos texto (varchar) devem ir entre aspas simples. agora os numericos geralmente não, dependendo do banco, acho q tem uns q aceitam e outros q não. access por exemplo só aceita sem aspas, pode testar.eu coloquei And BE_Profissionais.Codigo <> "&Codigo&" mais não funciona :\e essa variável vem da função Function RelacionaCurriculos(Codigo)o q você quer dizer com "não funciona"??ele da alguma mensagem de erro ou simplesmente seleciona todos??se der a mensagem de erro, então poste pra gente saber qual é.se ele simplesmente seleciona todos então em vez de executar o sql, só de teste de um print (Response.Write) de como fica a query toda e depois posta pra gente ver. Editado Fevereiro 20, 2008 por kuroi Link para o comentário Compartilhar em outros sites More sharing options...
0 Ted k' Postado Fevereiro 21, 2008 Denunciar Share Postado Fevereiro 21, 2008 (editado) ted, campos texto (varchar) devem ir entre aspas simples. agora os numericos geralmente não, dependendo do banco, acho q tem uns q aceitam e outros q não. access por exemplo só aceita sem aspas, pode testar.isso mesmo, gostei da resposta, uso MySQL e ORACLE e funciona, testei no ACCESS agora e não funcionou, mais provei que funciona em bancos de verdade, não classifico o ACCESS para aplicações... (hehehe)que bom que você não veio falando que não funciona, se não iria ficar chateado com sua resposta sem antes primeiro pequisar!!!muito bom!!! Editado Fevereiro 21, 2008 por Ted k' Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Fevereiro 21, 2008 Denunciar Share Postado Fevereiro 21, 2008 ted, campos texto (varchar) devem ir entre aspas simples. agora os numericos geralmente não, dependendo do banco, acho q tem uns q aceitam e outros q não. access por exemplo só aceita sem aspas, pode testar.isso mesmo, gostei da resposta, uso MySQL e ORACLE e funciona, testei no ACCESS agora e não funcionou, mais provei que funciona em bancos de verdade, não classifico o ACCESS para aplicações... (hehehe)que bom que você não veio falando que não funciona, se não iria ficar chateado com sua resposta sem antes primeiro pequisar!!!muito bom!!!bom acontece que não e todo mundo que usa o mesmo banco, e geralmente usam bancos diferentes (não vou discutir sobre isso cada um tem suas preferencias, e cada aplicação tem um banco se adequa melhor).antes de gerar linhas e linhas de babozeira...bareta, testado e comprovado de que se não existir cadastro sem as ASPAS simples, a página gera um erro...nunca nas minhas programações deu erro ou nunca funciou eu fazendo com ASPAS simples, sempre veio registros corretos!!eu usava muito sem as aspas simples, mais de um tempo pra cá percebi que dava erro no sql qudno se deletar todos os registros da tabela!!!não vejo como uma tabela "virgem" possa gerar algum erro a não ser que não recebe os parametros necessários, e que não exista um tratamento para casos onde não se encontre dados. O que acho dificil de não ser feito.uma simples verificação impede estes problemas.if id="" then id=0 ' ainda da pra adicionar and isnumeric(id)=true para verificar se o conteudo e um tipo numero. sql="select * from teste where id="&id set rs=conn.execute(sql) if rs.eof then response.write "nada encontrado" else response.write "algo encontrado" end if rs.close set rs=nothing voltando a duvida do gnomo... o que a pagina escreve ao dar um: response.write strSQLRelaciona? Link para o comentário Compartilhar em outros sites More sharing options...
0 Ted k' Postado Fevereiro 21, 2008 Denunciar Share Postado Fevereiro 21, 2008 (editado) antes de gerar linhas e linhas de babozeira...bareta, testado e comprovado de que se não existir cadastro sem as ASPAS simples, a página gera um erro...nunca nas minhas programações deu erro ou nunca funciou eu fazendo com ASPAS simples, sempre veio registros corretos!!eu usava muito sem as aspas simples, mais de um tempo pra cá percebi que dava erro no sql qudno se deletar todos os registros da tabela!!!não vejo como uma tabela "virgem" possa gerar algum erro a não ser que não recebe os parametros necessários, e que não exista um tratamento para casos onde não se encontre dados. O que acho dificil de não ser feito.uma simples verificação impede estes problemas.desculpa por gerar linhas de babozeiras... Editado Fevereiro 21, 2008 por Ted k' Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Fevereiro 21, 2008 Denunciar Share Postado Fevereiro 21, 2008 *aff maldito ips driver errordesculpa ai pessoal, nada pessoal não mais qualquer coisa que soe como mal entendido aqui. e apenas coincidencia.to fechando o tópico. fugiu do assunto. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gnomo
Fala galera! Seguinte..
Tenho a tabela notícias com as colunas:
ID | Texto | Data
para ler as noticias uso uma QueryString tipo Noticias.asp?noticia=15
gostaria de saber como eu faço para na consulta sql imprimir todas as noticias
exceto a noticia 15...
já procurei no google já tentei WHERE ID <> request("noticia") mais não consigo
nenhum resultado...
Obrigado...
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados