Ir para conteúdo

POWERED BY:

Arquivado

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

d.eleete

@#$% Não compreendo esse IF doido!

Recommended Posts

Vamos ver se eu consigo explicar:

 

2 clientes podem comprar com a mesma senha e usuário. Mas no final eh gerada uma requisição de compras diferentes mas pro mesmo cliente.

 

Eu diferencio eles atraves do Session Id.

 

E eu tenho q impedir duplicidade de produtos por session id e eu fiz assim:

 

set rsV2Insert = server.CreateObject("adodb.recordset")' Verifico atraves do select se o produto ja foi inserido.sqlV2Insert = "SELECT Top 1 tbl_req_TEMP.session_id FROM tbl_req_TEMP WHERE tbl_req_TEMP.session_id="&vSessionId&" AND tbl_req_TEMP.cod_produto="&vCod_Produto&" AND tbl_req_TEMP.cod_de="&vDe&"; "rsV2Insert.open sqlV2Insert, conexao' Se naum resultar em nada a busca anterior, é permitido inserir if rsV2Insert.EOF AND rsV2Insert.BOF then  sql = "INSERT INTO tbl_req_TEMP (session_id, cod_cliente, cod_ctrl, cod_produto, qtde, rc, cod_de) VALUES ("&vSessionId&","&vCod_cliente&", "&vCod_ctrl&", "∫(vCod_produto)&","&vQtde&",'"&vRc&"',"&vDe&")"    conexao.execute sql    'CASO CONTRARIOOOOOO!!!!!     else    response.Write("ERRO. Produto Ja inserido!")	end ifset rsV2Insert = nothing

SOh qta doido o bagulho... se outra máquina (com o mesmo login) adiciona um produto.. na minha maquina acusa q eu ja inseri o produto... PO mas foi o outro q inseriu...

 

Mas detalhe: Ele acusa o erro mas insere o produto.. ele apenas da a mensagem de erro...

 

Resumo final:

 

A mensagem de erro esta doida... ele insere ou impede a inserção normalmente..

O pau eh no else....

 

VAI SABER!

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

P.s.: O erro o qual eu falei eh do response.write("ERRO") ..

 

Não esta dando erro do servidor naum...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse if:

if rsV2Insert.EOF AND rsV2Insert.BOF then
nunca vi funcionar desse jeito, tente com "or":
if rsV2Insert.EOF OR rsV2Insert.BOF then

 

 

Valeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entaum salgado... naum adianta... to achando estranho demais isso ...Ele obedece o if, mas naum respeita o else saca...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque você tá testando o BOF? Eu acho que esse if tá errado.

Não seria

 

set rsV2Insert = server.CreateObject("adodb.recordset")' Verifico atraves do select se o produto ja foi inserido.sqlV2Insert = "SELECT Top 1 tbl_req_TEMP.session_id FROM tbl_req_TEMP WHERE tbl_req_TEMP.session_id="&vSessionId&" AND tbl_req_TEMP.cod_produto="&vCod_Produto&" AND tbl_req_TEMP.cod_de="&vDe&"; "rsV2Insert.open sqlV2Insert, conexao' Se naum resultar em nada a busca anterior, é permitido inserir if rsV2Insert.EOF then sql = "INSERT INTO tbl_req_TEMP (session_id, cod_cliente, cod_ctrl, cod_produto, qtde, rc, cod_de) VALUES ("&vSessionId&","&vCod_cliente&", "&vCod_ctrl&", "∫(vCod_produto)&","&vQtde&",'"&vRc&"',"&vDe&")"  conexao.execute sql  'CASO CONTRARIOOOOOO!!!!!   else  response.Write("ERRO. Produto Ja inserido!") end ifset rsV2Insert = nothing

Vê se não é por isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

if rsV2Insert.EOF AND rsV2Insert.BOF then

tenta colocar um if dentro do outro...

 

tipow faz o

if rsV2Insert.EOF
e dentro deste if
rsV2Insert.BOF

sei la é uma possibilidade...

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.