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

Response.Redirect com problema


Rodrigo_Linhas

Pergunta

Olá boa tarde, estou com um problema para redirecionar...

Tenho essa linha abaixo só q a parte em asp não esta lendo!

Response.redirect("http://www.linhasrodoviarias.com.br/busca/resultado.asp?txtCidadeOrigem=são+PAULO&estado= " & request.Form("cod_tipo") & " &cidade= " & request.Form("codcat") & " &botao=Buscar")
Quando redireciona fica assim: http://www.linhasrodoviarias.com.br/busca/...mp;botao=Buscar Porque será que ele não esta puxando os dados? Segue o cógico completo:
<% Response.Charset="ISO-8859-1" 'linha responsavel pela acentuação%>
<HTML>
<HEAD>
<TITLE>Busca de Cidades</TITLE>
<META NAME="Author" CONTENT="Wellington Marinheiro">
&lt;script src="lanc_ComboAjax.js"> </script>
 </HEAD>
 <BODY>
<%  
if request.queryString("at")= "" then

    db = Server.MapPath("dados.mdb")
    Set cnn = Server.CreateObject("adodb.Connection")
    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& db &";"

    SQL="SELECT * FROM tb_Lanc_categ ORDER by categoria"
    SET rs = Server.CreateObject("Adodb.recordset")
    rs.Open SQL,cnn 
    if not rs.eof then
        lista = rs.getrows()
        total = ubound(lista,2) 
    end if
    rs.close 
    set rs = nothing
    %>
    <CENTER>
    Utilizando AJAX para atualizar um COMBOBOX
    <hr>
    <form name="form" action="index.asp?at=1" method="post">
        <table border="1" bgcolor=#F4F4F4 width=40% align="center">
            <tr>
                <td><B>Categoria</B>
                <td>
                    <select name="categoria" class="select"  Onchange="atualizaLanc(this.value);">
                        <option value="">selecionar...
                        
                        <%
                        for t=0 to total
                            response.write "<option value=" & lista(0,t) & "|" & lista(1,t) &">" & lista(1,t) & "</option>"
                        next%>
                    </select>
                <tr>
                    <td><B>Lançamento:</B>
                    <td>
                        <div id="lanc"> 
                            <select name="Lancamento">
                                <option value="">Selecionar categoria</option>
                            </select>
                        </div>
                <tr>
                    <td colspan="2" align="center">
                    <INPUT TYPE="submit" value="Enviar">
                </tr>
            </table>
        </form>
    </CENTER>
<%
else
        Response.redirect("http://www.linhasrodoviarias.com.br/busca/resultado.asp?txtCidadeOrigem=são+PAULO&estado= " & request.Form("cod_tipo") & " &cidade= " & request.Form("codcat") & " &botao=Buscar")

end If
%>

</body>
</html>

Editado por Rodrigo_Linhas
Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Olha eu achei o erro, na verdade é que esta faltando algum código...

estou usando o seguinte código para puxar do banco de dados!

" & request.Form("cod_tipo") & "    " & request.Form("codcat") & "

Só que quando redireciona ele num puxa nada, oque será que esta faltando?

Link para o comentário
Compartilhar em outros sites

  • 0

Então tenho um banco de dados em .mdb e ele esta assim: dados.mdb

BANCO

Tabela1: tb_Lanc_categ

cod: número

categoria: texto

Tabela2: tb_lanc_sub

cod_tipo: número

codcat: número

desclanc: texto

link1: número

link2: número

Gostaria que o request.Form("cod_tipo") puxasse da tabela 2, só que não estou conseguindo

Se quiserem ver esse projeto o link é esse: http://www.linhasrodoviarias.com.br/1/2/

Editado por Rodrigo_Linhas
Link para o comentário
Compartilhar em outros sites

  • 0

Response.redirect("http://www.linhasrodoviarias.com.br/busca/resultado.asp?txtCidadeOrigem=são+PAULO&estado= " & rs("cod_tipo") & " &cidade= " & rs("codcat") & " &botao=Buscar")

Só que assim: Logo depois do seu else, o response.redirect não vai adr certo por causa que o Recordset(rs), não está setado a nenhum select.

Você deverá efetuar um select no seu banco para trazer esses registros(cod_tipo e codcat) setando o resultado do registro para o recordset rs(como você fez no IF), só que para o else também.

O jeito que você estava fazendo(request.form("cod_tipo")) só resgata valores de forms e querystring, para trazer resultados de select em banco, você utiliza o seu recordset com o campo que você quer, por isso utilize: rs("cod_tipo").

Abços

Abços

Link para o comentário
Compartilhar em outros sites

  • 0

Eu coloquei esse código mas ainda não funciona...

<% else

Response.redirect("http://www.linhasrodoviarias.com.br/busca/resultado.asp?txtCidadeOrigem=são+PAULO&estado=" & rsa("cod_tipo") & "&cidade=" & rsa("codcat") & "&botao=Buscar")
        
end If %>
Como eu tenho que montar esse Recordset(rs)? Ele esta assim:
<%  
                if request.queryString("at")= "" then

    db = Server.MapPath("dados.mdb")
    Set cnn = Server.CreateObject("adodb.Connection")
    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& db &";"

    SQL="SELECT * FROM tb_Lanc_categ ORDER by categoria"
    SET rs = Server.CreateObject("Adodb.recordset")

    rs.Open SQL,cnn 
    if not rs.eof then
        lista = rs.getrows()
        total = ubound(lista,2) 
    end if
    rs.close 
    set rs = nothing
    %>

Eu to com uma dificuldade de montar isso, já fiz varios testes mas não estou conseguindo!

Editado por Rodrigo_Linhas
Link para o comentário
Compartilhar em outros sites

  • 0

Seguinte:

Ta vendo aquele "rsa" que você colocou ali?

Isso é chamado de "Recordset", com ele você irá percorrer todos os registros da sua tabela.

Ex:

Set rsMeuSelect = Server.CreateObject("ADODB.Recordset")

strSql = "Select * from TB_cadastro"

rsMeuSelect.Open strSql,con

Sendo:

strSql = a query que você utilizará para trazer os seus registros do banco, ok?

con = Objeto de conexão(no seu código seria o cnn), ok?

Todos os resultados que retornar do meu select acima, serão "armazenados" no recordset rsMeuSelect, ok?

Suponha que na sua tabela TB_cadastro, tenha o campo nome, telefone, endereco e idade.

Faz de conta que aquele SELECT lá em cima esteja assim: "Select nome from TB_cadastro where id = 20"

Ele retorna isso:

nome = "José"

telefone = "9999-9999"

endereco = "Rua 2"

idade = 25

Como você faz para resgatar o registro que que contenha o nome?

Pega o seu RECORDSET( rsMeuSelect) e busca o campo desejado(nome), ficando:

rsMeuSelect("nome") , entendeu? a mesma coisa se você quiser pegar a idade: rsMeuSelect("idade").

Caso você utilize: "Select * from TB_cadastro"

Qual o resultado do select? Resposta:****Tudo que tem no banco*****

Para trazer o resultado no seu ASP, como se fosse uma lista de todos os nomes que estão cadastrados no banco:

While not rsMeuSelect.EOF

Response.Write rsMeuSelect("nome")&"<br>"

rsMeuSelect.Movenext

Loop

No seu código, seu recordset é "rs" e você esta utilizando "rsa", o erro já começa por ai!!!

Depois, no seu primeiro IF, você cria uma conexão, faz o select tudo certo, mas é se ele não satisfazer a sua condição e for para o ELSE, o que o seu recordset irá trazer? NADA.....pois não existe nem um select para alimentar seu "rs".

Entendeu?

Abços

Link para o comentário
Compartilhar em outros sites

  • 0

Olha eu até entendi o que você me disse, só que eu não sei onde coloco, ou misturo com esses que já tem, essa é minha duvida cara, eu não manjo muito de asp! :wacko:

Vou explicar melhor meu projeto:

Tenho um select assim:

[Estados] ....quando você seleciona um estado, ex. (São Paulo) vai aparecer todas as cidades de São Paulo no select abaixo!

[Cidades].....ai beleza se eu selecionar a cidade ele vai para o link desejado só que não esta puxando os dados....

veja o modelo: http://www.linhasrodoviarias.com.br/1/2/

o banco esta assim:

BANCO

Tabela1: tb_Lanc_categ

cod: 1

categoria: Acre

Tabela2: tb_lanc_sub

cod_tipo: 1

codcat: 1

desclanc: Rio Branco

Editado por Rodrigo_Linhas
Link para o comentário
Compartilhar em outros sites

  • 0

a questão é....

se você fica tentando entender isso aliado a seu projeto sem saber nada do ASP, vai fica nessa ate postarem tudo pronto pra você...

se quer realmente fazer isso e outras coisas depois... pegue um banco de dados zerado crie uma tabela e começe a paraticar.... select / insert / update / delete....

sobre os combox aqui no forum tem exemplos do uso de ajax pra preencher combos...

o mesmo vale para o banco de dados...

existem diversos metodos de leitura dos dados vindos do banco especificamente o que você ta tentando usar (muito bom, mais complicado):

http://www.mxstudio.com.br/aspnet/usando-r...trowsgetstring/

http://www.babooforum.com.br/forum/Como-us...NTE-t32088.html

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,3k
×
×
  • Criar Novo...