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 *???
Question
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 to comment
Share on other sites
10 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.