Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida De Pesquisa Sql


Steven Tyler

Pergunta

galera, to numa duvida cruel, n sei mais o que fazer....

seguinte...tenu uma pagina q recebe dados como paramentros..

vCat = request.querystring("cat")
vTit = request.querystring("tit")
vStatus = request.querystring("status")
vDataIni = request.querystring("dataini")
vDataFin = request.querystring("datafin")
sendo que o "vCat" recebe um numero, o resto dos paramentros são strings.... dai quero fazer uma pesquisa emcima desses dados q eu recebi como parametro, olha a ideia...
if vCat <> "" and vTit <> ""  and vStatus <> "" and vDataIni <> "" and vDataFin <> "" then
sql_query = "select * from tbl_chamado where id_categoria LIKE "&vCat&" and titulo LIKE '"&vTit&"' and status LIKE '"&vStatus&"' and data > '"&vDataIni&"' and data < '"&vDataFin&"' order by data,hora desc"

Set rs_all = conexao.Execute(sql_query)
end if

galera, n da certo, n sei o que fiz errado, da erro na expressao....

Tipo de dados imcompatível na expressão de critério

e os dados do banco ta certo, a tabela ta certa, ta dando erro d sintaxe, como q faz certo?

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

consegui andreia, mais agora tem outro problema........

ele n erro na expressao, mais da erro na hora de comparar as datas, porque a ideia é pegar todos os registros que estejam entre as datas digitas....

ex...

no meu bd, tem 5 registros com 5 datas...03/03/2006, todos eles tem essa data

dai no "vDataIni" eu digito 01/01/2006 e no "vDataFin" eu digito 01/04/2006

na lógica era pra dar certo, mais n da, o recordset fica......rs_all.EOF = true

mais eu digito td certo, e n como true o eof, e se eu tirar na pesquisa sql a parte de data, ele axa todos os registros normal, quando eu coloco essa parte de datas, ele n axa os registros...o que sera q acontece?

Link para o comentário
Compartilhar em outros sites

  • 0

Então, tenta assim:

sql_query = "select * from tbl_chamado where id_categoria LIKE "&vCat&" and titulo LIKE '"&vTit&"' and status LIKE '"&vStatus&"' and data BETWEEN " &vCdate(DataIni)& " AND " &vCDate(DataFin)& " order by data,hora desc"
Se não funcionar, manda imprimir a sua consulta SQL:
response.write sql_query
response.end

//antes do execute

E ve o que como está

Link para o comentário
Compartilhar em outros sites

  • 0

Ah desculpe eu passei errado, seria assim:

sql_query = "select * from tbl_chamado where id_categoria LIKE "&vCat&" and titulo LIKE '"&vTit&"' and status LIKE '"&vStatus&"' and data BETWEEN " &Cdate(vDataIni)& " AND " &CDate(vDataFin)& " order by data,hora desc"

Cdate transforma em Data

Link para o comentário
Compartilhar em outros sites

  • 0

infelizmente n da certo, desisto.....

olha vou te passar o codigo, n tem nada errado....

na pagina pesq_dados tem esse codigo....

<meta http-equiv='refresh' content='3; url=res_pesq.asp?id=<%=vUsuLogin%>&cat=<%=vCat%>&tit=<%=vTit%>&status=<%=vStatus%>&dataini=<%=vDataIni%>&datafin=<%=vDataFin%>'/>
dai envia os paramentros para a pagina "res_pesq.asp"..nessa pagina ta assim....
<%
vCat = request.querystring("cat")
vTit = request.querystring("tit")
vStatus = request.querystring("status")
vDataIni = request.querystring("dataini")
vDataFin = request.querystring("datafin")

if vCat <> "" and vTit <> "" and vStatus <> "" and vDataIni <> "" and vDataFin <> "" then

sql_query = "select * from tbl_chamado where id_categoria LIKE "&vCat&" and titulo LIKE '"&vTit&"' and status LIKE '"&vStatus&"' and data BETWEEN "&Cdate(vDataIni)&" AND "&Cdate(vDataFin)&" order by data,hora desc"

Set rs_all = conexao.Execute(sql_query)

if rs_all.EOF = false then
do until rs_all.EOF
'executa os codigos

rs_all.movenext
loop
end if
end if
%>

simplismente n o rs_all dica EOF, dai ele n vai executar os codigos q desejo, sendo q ta td certo o que eu digito la nos campos, identico ao do bd

OBS: se eu tirar essa parte de datas de comparar as datas, dai da certo, mais é na data q o bicho pega, n da certo, n sei o que fazer, por favor alguém me ajude...valeu..

Link para o comentário
Compartilhar em outros sites

  • 0

tipo, não vai

n tem o que fazer........ te hora q vai do nada e errado as datas, parece q tipo assim

numeros:

5 é maior que 1

data:

02/02/2006 é maior que 01/01/2006

mais parece q com a data não ta conseguindo fazer esse comparativo de maior e menos, eu n sei o que fazer mais !!!!! se alguém tem alguma ideia..por favor ajuem...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...