Carolline Postado Julho 11, 2007 Denunciar Share Postado Julho 11, 2007 (editado) oláaaaconsegui dar uma melhorada já hehevou postar o codigo intero agoramas o problema que ele entra direto no primeiro insert =/por favor help me rsrsjá que editei o post vou explicar o problema de novo rsrsé um sistema para uma empresa de bordadoo que esse script deveria fzer:procurar pra ver já tem o nome do revendedor na tabela, se não tiver faz o primeiro insertcaso tenha, procura pra ver se tem o produto, se não tiver faz o segundo insertcaso tenha também, procura pra ver se tem a quantidade estipulada, se não tiver faz o terceiro insertcaso tenha os 3, faz update do preço do revendedor e do master na linha que teria o revendedor,produto e quantidade(pegos no form) obrigada de novo rsrsespero que vocês tenham paciencianão que seja de proposito, mas sou iniciantersrsbjins<% Dim Revendedor : Revendedor = Request.Form("txtRevendedores") Dim Produto : Produto = Request.Form("Produto") Dim Quantidade : Quantidade = Request.Form("Quantidade") Dim PrecoRevendedor : PrecoRevendedor = Request.Form("PrecoRevendedor") Dim PrecoMaster : PrecoMaster = Request.Form("PrecoMaster") Dim rstlook1 : Set rstlook1 = Server.CreateObject("ADODB.Recordset") Dim rstlook2 : Set rstlook2 = Server.CreateObject("ADODB.Recordset") Dim rstlook3 : Set rstlook3 = Server.CreateObject("ADODB.Recordset") %> <!--#include file="inc/conexao.asp"--> <% lookrev = "select Revendedor from Precos where Revendedor = 'Revendedor' " lookprod = "select Produto from Precos where Produto = 'Produto' " lookqnt = "select Quantidade from Precos where Quantidade = 'Quantidade' " set rstlook1 = conexao.execute(lookrev) set rstlook2 = conexao.execute(lookprod) set rstlook3 = conexao.execute(lookqnt) If rstlook1.eof = true then conexao.execute "insert into Precos(Revendedor, Produto, Quantidade, PrecoRevendedor, PrecoMaster)" & _ "values('" & Revendedor & "','" & Produto & "','" & Quantidade & "','" & PrecoRevendedor & "','" & PrecoMaster & "')" else If rstlook2.eof = true then conexao.execute "insert into Precos(Revendedor, Produto, Quantidade, PrecoRevendedor, PrecoMaster)" & _ "values('" & Revendedor & "','" & Produto & "','" & Quantidade & "','" & PrecoRevendedor & "','" & PrecoMaster & "')" else If rstlook3.eof = true then conexao.execute "insert into Precos(Revendedor, Produto, Quantidade, PrecoRevendedor, PrecoMaster)" & _ "values('" & Revendedor & "','" & Produto & "','" & Quantidade & "','" & PrecoRevendedor & "','" & PrecoMaster & "')" else conexao.execute "update Precos SET PrecoRevendedor = '" & PrecoRevendedor & "', PrecoMaster = '" & PrecoMaster & "' " & _ " WHERE Revendedor = '" & Revendedor & "' and Produto = '" & Produto & "' and Quantidade = '" & Quantidade & "' " end if end if end if conexao.close set conexao = nothing %>obs: aprendi a editar o post hehe ai tirei o anteriorbrigadaaaaaaaaaaa Editado Julho 11, 2007 por Carolline Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JurisCode Postado Julho 12, 2007 Denunciar Share Postado Julho 12, 2007 acredito que o problema esteja nesses else que você colocou, acho qeu você deveria enfileirar os ifs assim:If rstlook1.eof thenprimeiro comandoend ifIf rstlook2.eof thensegundo comandoend ifIf rstlook3.eof thenterceiro comandoend ifou se preferirIf rstlook1.eof thenprimeiro comandoelseIf rstlook2.eof thensegundo comandoelseterceiro comandoend ifaqueles else que são os problemas, porque mesmo que não corresponder ao critério vai inserir os valores no db. acredito que seja só analisar com mais calma que você vai entender.por isso que no meu site eu não criei códigos muito complexos assim. eu me perco todo também.PS. Script criado por mulher é outra coisa. os meus são tudo bagunçados que nem eu me encontro depois de publicado o site, melhor começar do zer a tentar entender o qeu eu fiz lá :( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carolline Postado Julho 12, 2007 Autor Denunciar Share Postado Julho 12, 2007 rsrsobrigado pela dica mas já consegui resolver meu problemae ainda ficou bem mais simples o codigorsrsvou postar um pedaço caso seja a duvida de outros nelookrev = "SELECT Revendedor, Produto, Quantidade FROM Precos WHERE Revendedor = '" & strRevendedor &"' and Produto = '" & strProduto & "' and Quantidade = '" & strQuantidade & "' " set rst = conexao.execute(lookrev) If rst.eof then conexao.execute "insert into Precos(Revendedor, Produto, Quantidade, PrecoRevendedor, PrecoMaster)" & _ "values('" & strRevendedor & "','" & strProduto & "','" & strQuantidade & "','" & strPrecoRevendedor & "','" & strPrecoMaster & "')" else conexao.execute "update Precos SET PrecoRevendedor = '" & strPrecoRevendedor & "', PrecoMaster = '" & strPrecoMaster & "' " & _ " WHERE Revendedor = '" & strRevendedor & "' and Produto = '" & strProduto & "' and Quantidade = '" & strQuantidade & "' " end if Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Carolline
oláaaa
consegui dar uma melhorada já hehe
vou postar o codigo intero agora
mas o problema que ele entra direto no primeiro insert =/
por favor help me rsrs
já que editei o post vou explicar o problema de novo rsrs
é um sistema para uma empresa de bordado
o que esse script deveria fzer:
procurar pra ver já tem o nome do revendedor na tabela, se não tiver faz o primeiro insert
caso tenha, procura pra ver se tem o produto, se não tiver faz o segundo insert
caso tenha também, procura pra ver se tem a quantidade estipulada, se não tiver faz o terceiro insert
caso tenha os 3, faz update do preço do revendedor e do master na linha que teria o revendedor,produto e quantidade(pegos no form)
obrigada de novo rsrs
espero que vocês tenham paciencia
não que seja de proposito, mas sou iniciante
rsrs
bjins
obs: aprendi a editar o post hehe ai tirei o anterior
brigadaaaaaaaaaaa
Editado por CarollineLink para o comentário
Compartilhar em outros sites
2 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.