Ir para conteúdo

POWERED BY:

Arquivado

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

marcelinho

vetor

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 & ")"

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.