Olá pessoal, estou começando a desenvolver meus próprios códigos agora, estou entendendo um pouco mais sobre asp, mais dessa vez já passou dos meus conhecimento hehehehe
O problema é o seguinte: Tenho um código que recebe de 0 a 3 variáveis de um formulário, p/ cada variável ou combinações entre elas eu gostaria de fazer o select, mais por algum motivo que não sei qual é, não esta dando certo, olhen o código:
<!--#include file="conexao.asp"-->
<%
Call abre_conexao
Dim conexao,str,rs,x
cat = request.form("categoria2")
subcat = request.Form("subcat")
busca = request.Form("busca")
%>
<%
if cat = "" and subcat = "" and busca = "" then x = 0 end if
if cat = "" and subcat <> "" and busca = "" then x = 1 end if
if cat = "" and subcat = "" and busca <> "" then x = 2 end if
if cat <> "" and subcat <> "" and busca = "" then x = 3 end if
if cat <> "" and subcat = "" and busca <> "" then x = 4 end if
if cat = "" and subcat <> "" and busca <> "" then x = 5 end if
if cat <> "" and subcat = "" and busca = "" then x = 6 end if
if cat <> "" and subcat <> "" and busca <> "" then x = 7 end if
%>
<%
select case x
case 0
str="Select * from registro order by registro"
case 1
str="Select * from registro where subcat = '"&subcat&"' order by registro"
case 2
str="Select * from registro where busca like '"&busca&"' order by registro"
case 3
str="Select * from registro where cat = '"&cat&"' and subcat = '"&subcat&"' order by registro"
case 4
str="Select * from registro where cat = '"&cat&"' and busca like '%"&busca&"%' order by registro"
case 5
str="Select * from registro where subcat = '"&subcat&"' and busca like '%"&busca&"%' order by registro"
case 6
str="Select * from registro where cat = '"&cat&"' order by registro"
case 7
str="Select * from registro where cat = '"&cat&"' and subcat = '"&subcat&"' and busca like '%"&busca&"%'" & " order by registro"
case else
str="Select * from registro order by registro"
end select
set rs=conexao.execute(str)'<-- linha 45
%>
quando não tem variável nenhuma ele lista normalmento todos os itens.
O erro que aparece quando ele recebe qualquer variável é:
Tipo de erro:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1.
/Cortinaro/Site/sistema/exibir.asp, line 45
Me parece que o erro é porque não esta recebendo as variáveis mais eu dei um "response.write" e ele dá os valores postados.
Acho que estou errando no select case, nãi sei, mais será que não consigo colocar essas condiçoes diretamento no Select *???
Pergunta
Husscoffee
Olá pessoal, estou começando a desenvolver meus próprios códigos agora, estou entendendo um pouco mais sobre asp, mais dessa vez já passou dos meus conhecimento hehehehe
O problema é o seguinte: Tenho um código que recebe de 0 a 3 variáveis de um formulário, p/ cada variável ou combinações entre elas eu gostaria de fazer o select, mais por algum motivo que não sei qual é, não esta dando certo, olhen o código:
quando não tem variável nenhuma ele lista normalmento todos os itens.
O erro que aparece quando ele recebe qualquer variável é:
Me parece que o erro é porque não esta recebendo as variáveis mais eu dei um "response.write" e ele dá os valores postados.
Acho que estou errando no select case, nãi sei, mais será que não consigo colocar essas condiçoes diretamento no Select *???
Desde já agredeço! :)
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
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.