Ir para conteúdo

POWERED BY:

Arquivado

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

RafaelGaldino

erro na lógica?

Recommended Posts

ae pessoal, preciso da ajuda de vcs, pra solcuionar este problema...

 

eu tenho um arquivo default que faz uma chamada a um outro arquivo, passando parametros!

 

Default.asp

 

<html><body>	<td>	<a href="http://natal/rafael/task/checagem.asp?id=1&cnpj=123"><strong>Checagem</strong></a>	</td></body></html>

O meu arquivo checagem.aps recebe os parametros e retorna uma validação! Mas tá dando erro no meu if, ele não está conseguindo imprimir "confirmado", só retorna "negado" direto! Alguém pode me dizer o que eu devo fazeR?

 

checagem.asp

 

<% 	'Checagem Natal 	set connObj=server.createobject("adodb.connection")	connObj.open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(".") & "\Bd\Banco.mdb")		id = Request.QueryString("id")	cnpj = Request.QueryString("cnpj")		set rs = Server.CreateObject("adodb.recordset")	rs.Open "SELECT cnpj from DadosCliente where id = "&id&" ", connObj		cnpjBanco =  rs("Cnpj")		Response.write cnpj	Response.write cnpjBanco		if cnpj = cnpjBanco then  response.write "Confirmado"		else  response.write "Negado"	end if%>

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara pelo que entendi a sua logica ta certa, a unica coisa que pega e na hora da condicaovamos lá,SQL = "SELECT cnpj from DadosCliente"SQL = SQL & " WHERE id = " & idSQL = SQL & " AND " SQL = SQL & " cnpj = " & cnpj set rs = cnn.execute(SQL)StrCnpjBanco = rs("cnpj") if cnpj = StrCnpjBanco then Response.Write "Confirmado"else Response.wRITE "Negado"end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

SQL = "SELECT cnpj from DadosCliente"

SQL = SQL & " WHERE id = " & id

SQL = SQL & " AND "

SQL = SQL & " cnpj = " & cnpj

set rs = cnn.execute(SQL)

 

StrCnpjBanco = rs("cnpj")

 

if cnpj = StrCnpjBanco then

Response.Write "Confirmado"

else

Response.wRITE "Negado"

end if

 

tenta ae e depois posta!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Default:

<html>
<body>
<td>
<a href="http://natal/rafael/task/checagemSoluti.asp?id=1&cnpj=123"><strong>Checagem</strong></a>
</td>
</body>
</html>

 

Usando as configurações do default e sabendo que existe no banco um capo com id 1 e cnpj 123

 

ASP

[*]

 

[*]'Checagem Natal 

 

[*] set connObj=server.createobject("adodb.connection")

 

[*] connObj.open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(".") & "\Bd\Banco.mdb")

 

[*]

 

[*] id Request.QueryString("id")

 

[*] cnpj Request.QueryString("cnpj")

 

[*]

 

[*]

 

[*] set rs Server.CreateObject("adodb.recordset")

 

[*] rs.Open "SELECT cnpj from DadosCliente where id = "&id&" and cnpj = "&cnpj&" ", connObj

 

[*] cnpjBanco = rs("Cnpj")

 

[*]

 

[*] 'O = Confirmado

 

[*] '1 = Negado

 

[*]

 

[*] if cnpj = cnpjBanco then

 

[*] response.redirect("http://salvador/taskCliente/checagemCliente.asp?id=1&resultado=0")

 

[*] else

 

[*] response.redirect("http://salvador/taskCliente/checagemCliente.asp?id=1&resultado=1")

 

[*] end if

 

[*]

 

linha em negrito mudada!

 

Rapaz continua, sem entrar dentro da condição! :/ Só tah entrando no else, mesmo cnpj=123 e cnpjBanco=123, ele entra na segunda condição! :/

Não sei o que fazer! ;/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta o seguinte:

 

rs.Open "SELECT cnpj from DadosCliente where id = "&id&" and cnpj = "&cnpj&" ", connObjif ( rs.EOF ) then  ' não foi localizado  response.write "Negado" else  ' ok  response.write "Confirmado" end if

Qual o formato do campo CNPJ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta o seguinte:

 

rs.Open "SELECT cnpj from DadosCliente where id = "&id&" and cnpj = "&cnpj&" ", connObjif ( rs.EOF ) then  ' não foi localizado  response.write "Negado" else  ' ok  response.write "Confirmado" end if
Qual o formato do campo CNPJ?

<{POST_SNAPBACK}>

o formato do cnpj tah em inteiro. Não deu cereto usando rs.EOF não!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara muda seu código assim:

 

ASP

[*]<% 

 

[*]'Checagem Natal 

 

[*]set connObj=server.createobject("adodb.connection")

 

[*]connObj.open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(".") & "\Bd\Banco.mdb")

 

[*]

 

[*]id Request.QueryString("id")

 

[*]cnpj Request.QueryString("cnpj")

 

[*]

 

[*]

 

[*]set rs Server.CreateObject("adodb.recordset")

 

[*]rs.Open "SELECT cnpj from DadosCliente where id = " & id & " and cnpj= " & cnpj, connObj 

 

[*]

 

[*]if Not Rs.Eof then

 

[*] response.write "Confirmado" 

 

[*]else

 

[*] response.write "Negado"

 

[*]end if

 

Não se esqueça que o formato do CNPJ é deve ser o mesmo quando guardado no banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

rs.Open "SELECT cnpj from DadosCliente where id = " & id & " and cnpj= " & cnpj, connObj

Se o CNPJ tá como Inteiro no banco, tem que usar a função CInt para converter a variável que recebeu o string (no Request.QueryString) em Inteiro também.

 

Tente fazer o seguinte:

 

rs.Open "SELECT cnpj from DadosCliente where id = " & id & " and cnpj= " & CInt( cnpj ), connObj

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.