Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala ae Galera blzera?
to com o seguinte problema...eu tenho ativo e os inativo.....vamos supor que tenho tudo ativo e quero deixar 1 inativo, entao eu vou la destico um checkbox e aperto em atualizar...ele esta deixando inativo mais não apenas o que eu quis e sim mais um logo apos o que eu escolhi.
ó meu codigo:
<% Vet_ID = Split(Request("id"),",") Vet_Ativo = Split(Request("ativo"),",")k=0For i=0 to UBound(Vet_ID) Bool_Flag = True For j=0 to UBound(Vet_Ativo) If Vet_ID(i) = Vet_Ativo(j) Then Bool_Flag = FalseNextIf Bool_Flag = True then Redim Preserve Vet_Inativo(k) Vet_Inativo(k) = Vet_ID(i) K = k+1End IfNext For i=0 to UBound(Vet_Ativo) Str_SQL = "UPDATE tbCatalogo_Produtos SET ativo = 'S' WHERE id = " & Vet_Ativo(i) 'response.write Str_SQL & "<br />" Session("Conn").Execute(Str_SQL)Nextif k <> 0 thenFor i=0 to UBound(Vet_Inativo) Str_SQL = "UPDATE tbCatalogo_Produtos SET ativo = 'N' WHERE id = " & Vet_Inativo(i) response.write Str_SQL & "<br />" Session("Conn").Execute(Str_SQL)Nextend if response.redirect "default2.asp"%>
espero ter explicado certinho...nao sei pq ele ao inves de desticar o que eu quis ele destica mais um tbm!!
se alguem puder me ajudar eu agradeço.
Obrigado a todos
eu so deixei para mostrar a sql do vetInativo que é onde esta o problemaoh o resultado:UPDATE tbCatalogo_Produtos SET ativo = 'N' WHERE id = 1179UPDATE tbCatalogo_Produtos SET ativo = 'N' WHERE id = 1069e o que eu destiquei foi o 1179 somente ele
os campos "ativo" e "id" do form são checkbox ? ambos tem o valor da ID do produto ?
o id vem de um input type hiddene o ativo é checkbox so que o value dele tbm sao os ids dos produtos para eu fazer a verificacao!!!
esses tipos de laços são desnecessarios
For i=0 to UBound(Vet_Ativo) Str_SQL = "UPDATE tbCatalogo_Produtos SET ativo = 'S' WHERE id = " & Vet_Ativo(i) 'response.write Str_SQL & "<br />" Session("Conn").Execute(Str_SQL)Next
For i=0 to UBound(Vet_Inativo) Str_SQL = "UPDATE tbCatalogo_Produtos SET ativo = 'N' WHERE id = " & Vet_Inativo(i) response.write Str_SQL & "<br />" Session("Conn").Execute(Str_SQL)Next
se voce ja pega o valor separado por virgulas pode simplesmenste usar o IN em sua query
você num precisa dum campo hidden só para colocar o ID dele..... basta você por no value do checkbox o ID, e depois o request vai te dizer qual checkbox está como ativo e qual valor dela
como assim mario colocar o IN na minha query??????mais o ultra eu to colocando num input para fazer a verificacao se esta ou nao ativo...ai os que estao ativo vai pro vetAtivo e os que nao estao vai pro vetInativo so que o vetInativo ta pegando um valor a mais e nao sei o pq disso estar ocorrendo
mais ou menos assim tiozinho
em vez de usar uma estrutura de repetição desta
For i=0 to UBound(Vet_Inativo) Str_SQL = "UPDATE tbCatalogo_Produtos SET ativo = 'N' WHERE id = " & Vet_Inativo(i) response.write Str_SQL & "<br />" Session("Conn").Execute(Str_SQL)Next
voce pode fazer simplesmente
Str_SQL = "UPDATE tbCatalogo_Produtos SET ativo = 'N' WHERE id IN (" & VARIAVELCOMVALORESSEPARADOSPORVIRGULA & ")"
comenta aquela última linha do response.redirect, e posta ae oq os seus response.write estão escrevendo na tela