Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

m4r1n0

Select em caixa de texto !!

Recommended Posts

Fala galera, seguinte, o que to querendo fazer e o seguinte:

 

O codigo em si, ja mostra o seguinte:

 

Set rs = Server.CreateObject("ADODB.Recordset")rs.ActiveConnection = MM_Let_STRINGrs.Source = "SELECT * FROM log ORDER BY id ASC"rs.CursorType = 0rs.CursorLocation = 2rs.LockType = 1rs.Open()

No caso ai ele eu faco ele mostrar o CPF da pessoa que loga em uma caixa de texto, até ai tudo bem, tdo funcionando....

 

O problema maior e agora, nessa caixa q mostra o CPF eu queria dar um select nesse CPF e mostrar os nome e sobre nome deles que estão na tabela users, ficaria mais ou menos assim:

 

 

Set rsNome_cmd = Server.CreateObject ("ADODB.Command")rsNome_cmd.ActiveConnection = MM_Let_STRINGrsNome_cmd.CommandText = "SELECT firstname, surname FROM users where username = " CAIXA DE TEXTO ONDE ESTA O CPF "rsNome_cmd.Prepared = trueSet rsNome = rsNome_cmd.ExecutersNome_numRows = 0

Ali onde ta o " CAIXA DE TEXTO ONDE ESTA O CPF " é que to me enrolando, n consigo fazer ele mostrar, qdo mostra mostra o primeiro nome da tabela, n seleciona o nome do CPF q aparece !!

 

Alguem pode me ajudar pllllzzzz ??

 

Abraços !

Compartilhar este post


Link para o post
Compartilhar em outros sites

se entendi bem username é o Cpf do usuário...então você faz o seguinte...

recupera o valor do Cpf que o camarada digitou no formulário e armazena numa sessão:

session("username")=request("cpf")

depois você faz a busca pelo parametro da sessão

SELECT firstname, surname FROM users where username = '"&session("username")&"'

------

ficaria mais ou menos assim:

session("username")=request("cpf")Set rsNome_cmd = Server.CreateObject ("ADODB.Command")rsNome_cmd.ActiveConnection = MM_Let_STRINGrsNome_cmd.CommandText = "SELECT firstname, surname FROM users where username = '"&session("username")&"'rsNome_cmd.Prepared = trueSet rsNome = rsNome_cmd.Executeif not rsNome.eof thenresponse.write("usuário sem acesso ao sistema")response.end()elseresponse.write(rsnome("firstname"))end ifrsNome_numRows = 0
Coloquei armazenado na sessão caso você precise utilizar o cpf do usuário logado em mais alguma outra página. Se preferir troque a sessão por uma váriavel

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixa eu so explicar essa parte, username e campo da tabela que armazena o CPF, e a caixa de texto chamada CPF e aonde eu mostro o username na tela, dali eu queria capturar esse CPF mostrado e exibir o Nome e Sobrenome que esta dentro da tabela USERS q tambem tem o campo username.........

Compartilhar este post


Link para o post
Compartilhar em outros sites

então...foi exatamente o que te passei pra fazer, se não aparece nada é porque o cpf digitado não existe no Db. Verifique se estão gravados apenas numeros pois se você grava ponto, traço e barra deve digitar na mesma formatação ou criar uma função pra limpar a string. Outro detalhe, o exemplo que fiz imagino que o campo username na tabela do db esteja como tipo texto(varchar) pra armazenar o cpf

vamos por parte.....

na sua página onde o camarada digita o Cpf tem que ter algo assim

formulario_login.asp

<form action="executa_login.asp" method="post"><input name="cpf" type="text"><input name="submit" type="submit"></form>
executa_login.asp

session("username")=trim(request.querystring("cpf"))if session("username")<>"" thenSet rsNome_cmd = Server.CreateObject ("ADODB.Command")rsNome_cmd.ActiveConnection = MM_Let_STRINGrsNome_cmd.CommandText = "SELECT firstname, surname FROM users where username = '"&session("username")&"'rsNome_cmd.Prepared = trueSet rsNome = rsNome_cmd.Executeif not rsNome.eof thenresponse.write("usuário sem acesso ao sistema")response.end()elseresponse.write(rsnome("firstname"))end ifrsNome_numRows = 0elseresponse.write("digite seu cpf")end if
veja o que eu coloquei no primeiro post....foi armazenado na sessão pra caso queira usar o parametro do cpf em outra página é só fazer o select e usar a session pois ela vai estar ativa. Agora se você não quer criar uma sessão tens que capturar esse valor do text atraves de javascript, com isso o usuário vai ter que fazer alguma ação pra poder pegar esse valor ou você terá que criar uma rotina pra ficar capturando esse dado.Dê uma pesquisada no forum de javascript

Compartilhar este post


Link para o post
Compartilhar em outros sites

saquei jonathan, mais eu que to explicando mal :DSeguinte, essa parte, não é uma pagina de login, e sim uma pagina de LOG de movimentação, eu ja fiz qdo a pessoa loga no site ele inseri o CPF e a hora que logou dentro da tabela LOG nos campos username = CPF e data, agora nessa pagina de LOG de movimentação ele captura o CPF que esta inserido na tabela LOG e mostra na tela, ai quando ele mostra no CPF na tela eu queria capturar esse CPF que ele mostrou numa caixa de texto chamada 'CPF' dentro da tabela users que tem la os usuarios cadastrados !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

então use a mesma logica....no text você tem algo tipo isso<input name="username" value="<%=variavel_username_vem_do_log%>"é só você pegar essa variavel e e usar ela como parametro.Coloca o trecho onde você faz a leitura do log e captura o cpf

Compartilhar este post


Link para o post
Compartilhar em outros sites

exatamente, so que ai que n sei usar os codigos, ainda sou meio novato,

 

<input name="username" value="<%=variavel_username_vem_do_log%>"

eu colocaria

SELECT firstname, surname FROM users where username = "AQUI QUE N SEI O QUE COLOCAR"

Saco ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

endenti cara....mas como você disse, és novato, coloque a parte do codigo que você faz a leitura do Log pra sabermos como está sendo feito pra te passar a dica explicando o que será feito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, vamos la

 

Aqui onde ele da o SELECT pra mostrar o CPF na caixa de texto CPF:

Set rs = Server.CreateObject("ADODB.Recordset")rs.ActiveConnection = MM_Let_STRINGrs.Source = "SELECT * FROM log ORDER BY id ASC"rs.CursorType = 0rs.CursorLocation = 2rs.LockType = 1rs.Open()

Aqui é onde ele mostra na caixa de texto CPF:

 

<input name="cpf" type="text" class="webforms" id="cpf" value="<%=(rs.Fields.Item("username").Value)%>" size="12" readonly="true">

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que fiz agora tb, esta funcinando sem dar erros, mais não mostra nada pra mim, como se n existisse o usuario:

 

Ai vai o codigo:

 

Aqui é aonde dou o Select no firstname na tabela users onde username é = a caixa de texto CPF

Set rsNome = Server.CreateObject("ADODB.Recordset")rsNome.ActiveConnection = MM_Let_STRINGrsNome.Source = "SELECT firstname FROM users WHERE username = '"&request("cpf")&"'"rsNome.CursorType = 0rsNome.CursorLocation = 2rsNome.LockType = 1rsNome.Open()

Aqui é aonde mostra o firstname tomando base pelo CPF na caixa de texto, so que o CPF aparece certinho na caixa de texto, mais o firstname n :

 

<% if not rsNome.eof then %>  <table width="498" border="1" align="center" cellspacing="0">	<tr class="highlight">	  <td width="45"><div align="center" class="style15"><span class="style18">ID</span></div></td>	  <td width="101"><div align="center" class="style15"><span class="style18">CPF</span></div></td>	  <td width="120"><div align="center"><span class="style15"><span class="style18">Nome</span></span></div></td>	  <td width="120"><div align="center" class="style15"><span class="style18">Data</span></div></td>	  <td width="90"><div align="center" class="style15"><strong>Situação</strong></div></td>	</tr>  </table>	<table width="499" border="1" align="center" cellspacing="1" bordercolor="#CCCCCC">	  <tr>		<td width="44"><div align="center" class="style22"><span class="style16"><%=(rs.Fields.Item("id").Value)%></span></div></td>		<td width="99">			<div align="center">			  <input name="cpf" type="text" class="webforms" id="cpf" value="<%=(rs.Fields.Item("username").Value)%>" size="12" readonly="true">			  			</div></td>		<td width="120"><div align="center"><span class="style23"><%=(rsNome.Fields.Item("firstname").Value)%></span></div></td>		<td width="120"><div align="center" class="style22"><span class="style16"><%=(rs.Fields.Item("Data").Value)%></span></div></td>		<td width="88"><div align="center" class="style22"><span class="style16"><%=(rs.Fields.Item("descricao").Value)%></span></div></td>	  </tr>	</table><%end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

se estão todos os codigos na mesma página coloque assimSet rsNome = Server.CreateObject("ADODB.Recordset")rsNome.ActiveConnection = MM_Let_STRINGrsNome.Source = "SELECT firstname FROM users WHERE username = '"&rs.Fields.Item("username").Value&"'"rsNome.CursorType = 0rsNome.CursorLocation = 2rsNome.LockType = 1rsNome.Open()perceba que troque o parametro no sql para atribuir o valor do recordset atual

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou cara, perfeito !!!!Mto obrigado mesmo !!Agora so n entendi direito como você feiz ali pra capturar, se der pode me dar um explicada ??Cara, brigadão mesmo pela ajuda !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma outra duvida rapida nada haver com o topico,tem como por exemplo eu dar um SELECT usuario FROM users Where usuario = "fulano"ai dps eu dou um INSERT ??Selecionar dados de uma tabela e jogar pra outra ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

aahhaha deu certo, agora fui fazer um sistema de repetição pra mostrar todos que existem o nome so aparece o que ele capturou primeiro, o resto e repitido !! ta fodz auhauhahu !

Compartilhar este post


Link para o post
Compartilhar em outros sites

que bom que resolveu, só pra explicar....atualmente está assim:rsNome.Source = "SELECT firstname FROM users WHERE username = '"&rs.Fields.Item("username").Value&"'"onde:rs.Fields.Item("username").Valueé o recordset que tem armazenado o Cpf do usuário, ou seja...ele faz a consulta e passa a condição de quando o username seja igual ao atual cpf que tem no recorset(rs).Precisa de mais algum alxilio, não entendi seu ultimo post

Compartilhar este post


Link para o post
Compartilhar em outros sites

aahhaha deu certo, agora fui fazer um sistema de repetição pra mostrar todos que existem o nome so aparece o que ele capturou primeiro, o resto e repitido !! ta fodz auhauhahu !

então, deeu tdo certinho beleza, so q ele tava so mostrando o primeiro campo databela, qdo fui fazer o sistema de repetição pra mostrar o resto dos campos, ele mostra todos os CPF la so que o nome aparece so do primeiro capturado o resto q copia do primeiro, ele n captura o 2 cpf e mostra o nome do segundo, sacou ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara....tem como você colocar o codigo ai pra poder ver bem como você fez?resumindo você tem que colocar esses select numa estrutura de repetição para que a cada volta ele troque o cpf e exiba os respectivos nomes

Compartilhar este post


Link para o post
Compartilhar em outros sites

segue o codigo:

 

<% While ((Repeat1__numRows <> 0) AND (NOT rs.EOF)) %>

Ai ele mostra a tabela com os dados:

 

<table width="624" border="1" align="center" cellspacing="1" bordercolor="#CCCCCC">	  <tr>		<td width="44"><div align="center" class="style22"><span class="style16"><%=(rs.Fields.Item("id").Value)%></span></div></td>		<td width="99"><div align="center" class="style23"><%=(rs.Fields.Item("username").Value)%></div></td>		<td width="120"><div align="center"><span class="style23"><%=(rsNome.Fields.Item("firstname").Value)%></span></div></td>		<td width="120"><div align="center"><span class="style23"><%=(rsNome.Fields.Item("surname").Value)%></span></div></td>		<td width="120"><div align="center" class="style22"><span class="style16"><%=(rs.Fields.Item("Data").Value)%></span></div></td>		<td width="88"><div align="center" class="style22"><span class="style16"><%=(rs.Fields.Item("descricao").Value)%></span></div></td>	  </tr>	  </table>

Ai no final tem isso:

 

<%   Repeat1__index=Repeat1__index+1  Repeat1__numRows=Repeat1__numRows-1  rs.MoveNext()Wend%>

resolvido !!!!!!!

 

Colquei isso dentro da estrutura de repeticao como você falou !

<%Set rsNome = Server.CreateObject("ADODB.Recordset")rsNome.ActiveConnection = MM_Let_STRINGrsNome.Source = "SELECT firstname, surname  FROM users  WHERE username = '"&rs.Fields.Item("username").Value&"'"rsNome.CursorType = 0rsNome.CursorLocation = 2rsNome.LockType = 1rsNome.Open()%>

:D !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta dando isso agora !!Microsoft JET Database Engine erro '80004005' Não foi possível usar ''. O arquivo já está em uso. /sgq/admin_log.asp, line 22 Acho que ele n tafechando a conexão pra poder abrir denovo no sistema de repeticao!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.