Prof. Jonatas Postado Abril 7, 2006 Denunciar Share Postado Abril 7, 2006 Galera eu tenho um numero fixo e preciso deixar ele como variável, pra entrar um valor que o usuário digitar.Bom eu já tenho o código ta tudo funcionando certinho, só preciso deixar o numero 2 como se fosse uma var ex. "numero"Eu não to conseguindo fazer pois sou novato em ASP e ainda não me liguei no esquema das "" sinal de igual, onde usar e como usar...Alguém pode me ajudar? O Código é este abaixo:Set RS_Max = Server.CreateObject("ADODB.Recordset") RS_Max.CursorType = adOpenKeyset RS_Max.Open "SELECT * FROM prod where Codigodesenho='2'", ConnEtão Vendo? O Código do desenho é 2, no caso eu to querendo deixar como var.Aguardo respostas galera, valeu Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 7, 2006 Denunciar Share Postado Abril 7, 2006 Se você tem um formulario antes e nessa tela você tem que resgatar o valor:var = request.form("var") agora já é variavel, na consulta: RS_Max.Open "SELECT * FROM prod where Codigodesenho= "& var &" ", Conn se for do tipo texto a variavel: RS_Max.Open "SELECT * FROM prod where Codigodesenho= '"& var &"' ", Conn Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Prof. Jonatas Postado Abril 7, 2006 Autor Denunciar Share Postado Abril 7, 2006 Andréia, muito obrigado, funcionou a segunda opção.Meu numero estava definido no banco de dados como texto.Ta Ok.Mas agora eu to com um outro dilema.Eu fiz a função para gravar o numero no Cookie do meu PC, na mesma página do meu formulário.Então ta acontecendo o seguinte.Pra poder gravar o campo numero no Cookie eu coloquei o action do formulário para buscar a mesma página ex.O meu código ta na página gravar.asp, o action ta para ir para gravar.aspEstá gravando ta certinho, mas eu queria clicar no botão OK, e executar a gravação e automáticamente já mudar de página, ou seja ir para a página onde eu estou recuperando o numero do Cookie.Entendeu?Como eu posso fazer isto?Eu creio que seja em função né? Colocar a gravação dentro de uma função e juntamente colocar um redirect no fim da função, e botão ok executa a função, é isto?Bom, se for isto eu só sei teoria, porque o código pra fazer isto eu não manjo nada.Tem como você me ajudar?Aguardo, valeu. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 7, 2006 Denunciar Share Postado Abril 7, 2006 não deu pra visualizar muito sua aplicação, mas o problema do redirect é que ele não carrega as variaveis do form (a menos q você incluia no link).você pode gravar os cookies no começo da pagina seguinte, apos o submit, e abaixo colocar a rotina normal.Esse cookies são baseados no form anterior? ou de outra página? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Prof. Jonatas Postado Abril 7, 2006 Autor Denunciar Share Postado Abril 7, 2006 não dá pra eu gravar os Cookies no começo da página porque o usuário vai digitar o que precisa ser gravado.É como um sistema de busca.você digita o que quer e aí vai pra uma página de resposta sobre o que digitou!No caso eu fiz assim:A página que o usuário digita o numero do registro que ele quer ver:<%Option Explicit%> <%Response.Buffer = True%> <html> <head> <title>Gravar</title> </head> <body bgcolor="#FFFFFF" text="#000000"> <% dim strCookie, numero1, recnum strCookie ="cadastro" numero1 = Request.Form("numero") recnum = Request.Cookies("strCookie") ("num") Response.Cookies("strCookie").Expires = DateAdd("s", 60, now) Response.Cookies("strCookie").Path = "/" Response.Cookies("strCookie") ("num") = numero1 %> <form name="form1" method="post" action="gravar.asp"> <div align="center">Numero: <input type="text" name="numero"> <input type="submit" name="Submit" value="OK"> </div> </form> </body> </html> Após ter digitado o numero e clicado em OK. Tem quer ir pra página onde ele irá ver o registro do código que ele digitou na página anterior. Seria esta: <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.connectionstring = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" _ & Server.Mappath("Db/producao.mdb") & ";User Id=;Password=;" Conn.Open dim num, recnum recnum = Request.Cookies("strCookie") ("num") Set RS_Max = Server.CreateObject("ADODB.Recordset") RS_Max.CursorType = adOpenKeyset RS_Max.Open "SELECT * FROM prod where Codigodesenho= '"&recnum&"' ", Conn %>Então, o que eu gostaria de fazer é quando ele clicasse em Ok na página do form, fosse direto pra está pagina que mostra o registro.Sem precisar trocar de endereço em cima lá na barra de endereços.Outro problema que vem acontecendo é quando eu vou pra esta página de visualização, não ta indo direto pro código que eu digitei, só vai quando eu clico em atualizar.Entendeu?Nossa que Dilema, valeu pela ajuda heim, to no aguardo! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 7, 2006 Denunciar Share Postado Abril 7, 2006 Então, o que eu gostaria de fazer é quando ele clicasse em Ok na página do form, fosse direto pra está pagina que mostra o registro.Sem precisar trocar de endereço em cima lá na barra de endereços.você pode colocar o action do form pro mesmo arquivo e fazer um IF pra saber se o usuario submeteu o form ou não:<%Response.Buffer = True%> <html> <head> <title>Gravar</title> </head> <body bgcolor="#FFFFFF" text="#000000"> <% if Request.ServerVariables("REQUEST_METHOD") <> "POST" then strCookie ="cadastro" numero1 = Request.Form("numero") recnum = Request.Cookies("strCookie") ("num") Response.Cookies("strCookie").Expires = DateAdd("s", 60, now) Response.Cookies("strCookie").Path = "/" Response.Cookies("strCookie") ("num") = numero1 %> <form name="form1" method="post" action="teste.asp"> <div align="center">Numero: <input type="text" name="numero"> <input type="submit" name="Submit" value="OK"> </div> </form> </body> </html> <% else Set Conn = Server.CreateObject("ADODB.Connection") Conn.connectionstring = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" _ & Server.Mappath("Db/producao.mdb") & ";User Id=;Password=;" Conn.Open recnum = Request.Cookies("strCookie") ("num") Set RS_Max = Server.CreateObject("ADODB.Recordset") RS_Max.CursorType = adOpenKeyset RS_Max.Open "SELECT * FROM prod where Codigodesenho= '"&recnum&"' ", Conn end if %>Outro problema que vem acontecendo é quando eu vou pra esta página de visualização, não ta indo direto pro código que eu digitei, só vai quando eu clico em atualizar.Entendeu?essa eu não entendi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Abril 7, 2006 Denunciar Share Postado Abril 7, 2006 Fiz do jeito que você me passou ta dando este erro:ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. ? Eu achu q não ta gravando o Cookie né?Se alguém souber de um jeito mais fácil....Aguardo, obrigado até agora viu! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 7, 2006 Denunciar Share Postado Abril 7, 2006 Sql não encontrou resultado e gera erro, você tem que fazer um tratamento caso não tenha valores a retornar, tenta assim: Set RS_Max = Server.CreateObject("ADODB.Recordset") RS_Max.CursorType = adOpenKeyset RS_Max.Open "SELECT * FROM prod where Codigodesenho= '"&recnum&"' ", Conn if rs_max.eof then response.write "busca retornou sem resultados" else while not rs_max.eof . . rs_max.movenext wend end if end if Tenta ae, e fica calmo ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Abril 7, 2006 Denunciar Share Postado Abril 7, 2006 É mas acontece q é impossível não me retornar nada.Constam em meu banco de dados 3 registros, 1, 2, 3,Se eu digitar o numero 2 tem que mostrar o registro numero 2.Eu fiz assim para simplificar.Fiz uma função se a variável do cookie estiver vazia, continua na mesma página.Caso contrário vá para cadastro.aspTa funcionando, este código ta na página gravar.asp, funciona mas só da segunda vez que clico.Por exemplo, se eu colocar o numero 1 para achar, ele grava no cookie mas eu continuo na página gravar.asp não ta redirecionando.Mas se eu clicar denovo, mesmo que eu não digite numero nenhum, ele me redireciona pra página cadastro.asp com o registro do numero que eu digitei a primeira vez. Entendeu?O loop ta certo, mas só que eu acho q o primeiro clique ta servindo apenas para gravar e aí sim no segundo clique eu to sendo redirecionado pro numero que eu pedi.Estranho né?Da uma olhada no código:<%Option Explicit%> <%Response.Buffer = True%> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <% dim strCookie, numero1, recnum recnum = Request.Cookies("strCookie") ("num") if recnum = "" then strCookie ="cadastro" numero1 = Request.Form("numero") recnum = Request.Cookies("strCookie") ("num") Response.Cookies("strCookie").Expires = DateAdd("s", 60, now) Response.Cookies("strCookie").Path = "/" Response.Cookies("strCookie") ("num") = numero1 %> <form name="form1" method="post" action="gravar2.asp"> <div align="center">Numero: <input type="text" name="numero"> <input type="submit" name="Submit" value="OK"> </div> </form> </body> </html> <% else response.redirect "cadastro.asp" end if %> Brigado pela ajuda viu você ta sendo super 10, aguardo mais respostas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Prof. Jonatas Postado Abril 7, 2006 Autor Denunciar Share Postado Abril 7, 2006 O post acima é meu, é que eu ainda não tinha logado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Prof. Jonatas Postado Abril 7, 2006 Autor Denunciar Share Postado Abril 7, 2006 Relaxa Andreia, eu consegui!Eu separei os código ao ivés de eu fazer em apenas uma ou duas páginas eu fiz em 3!Ná página gravar.asp eu deixei só o formulário com o action apontado para gravar2.aspNá pagina gravar2.asp eu deixei o código para gravar o dado no cookie, e em seguida redirecionar para a página cadastro.aspNá página cadastro. asp a primeira coisa que eu fiz foi a verificação pra ver se tem algo no cookie, se constar continua alí se não tiver nada eu volto pra página gravar.asp.Eu acho q podia ter feito isto des do início, mas fazer o que né, é errando que se aprende.Brigadão viu, você foi de muita ajuda.Há e com certeza logo mais eu irei precisar denovo, não é toa que sou iniciante. hehevaleu Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 7, 2006 Denunciar Share Postado Abril 7, 2006 Ah que bom que conseguiu resolver.Quanto a seperar o codigo, eu tinha postado acima o exemplo em um mesmo arquivo. t++ ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Prof. Jonatas
Galera eu tenho um numero fixo e preciso deixar ele como variável, pra entrar um valor que o usuário digitar.
Bom eu já tenho o código ta tudo funcionando certinho, só preciso deixar o numero 2 como se fosse uma var ex. "numero"
Eu não to conseguindo fazer pois sou novato em ASP e ainda não me liguei no esquema das "" sinal de igual, onde usar e como usar...
Alguém pode me ajudar? O Código é este abaixo:
Etão Vendo? O Código do desenho é 2, no caso eu to querendo deixar como var.
Aguardo respostas galera, valeu
Link para o comentário
Compartilhar em outros sites
11 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.