Foros del Web » Programando para Internet » ASP Clásico »

Ejemplos de SELECT CASE

Estas en el tema de Ejemplos de SELECT CASE en el foro de ASP Clásico en Foros del Web. Hola a todos... Tengo un problema, colo la condicional "select case" es que hasta ahora he tratado de entener como funciona pero nada para darle ...
  #1 (permalink)  
Antiguo 21/07/2005, 09:35
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
Información Ejemplos de SELECT CASE

Hola a todos...
Tengo un problema, colo la condicional "select case" es que hasta ahora he tratado de entener como funciona pero nada para darle en el clavo, he leido varios manuales, y ninguno ha sabido darme un ejempplo claro, me gusría uqe me ayuden a poder entender esta parte con algunos ejemplos simple que puedand darme y con sus pequeñas explicaciones, les voy a aestar muy agradecido

:D
  #2 (permalink)  
Antiguo 21/07/2005, 09:43
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Código:
Select CAST(DAY(GETDATE()) AS VARCHAR)+'/'+
           CASE LEN(CAST(MONTH(GETDATE()) AS VARCHAR))
           WHEN 1 THEN '0'+CAST(MONTH(GETDATE()) AS VARCHAR)
           WHEN 2 THEN CAST(MONTH(GETDATE()) AS VARCHAR)
           END 
           +'/'+CAST(YEAR(GETDATE()) AS VARCHAR)
Creo que el ejemplo por lo mismo sencillo, se explica solo


Saludos
  #3 (permalink)  
Antiguo 21/07/2005, 09:46
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
mmmmmm, aunque quizá te refieras al de vbs
Código:
select case Variable_A_Verificar_Su_Contenido
 case "Opcion1"
   Response.Write "se desplega Si la veriable del select es igual a Opcion1"
 case "Opcion2"
   Response.Write "se desplega Si la veriable del select es igual a Opcion2"
 case Else
   Response.Write "Si no se cumple cualquiera de las anteriores"
end select
  #4 (permalink)  
Antiguo 21/07/2005, 09:56
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
De acuerdo Exacto

si, me refiero al vbs, pero lo que me va a ayudar a entender esta condicional SELECT CASE, es ver un ejemplo simple trabajando...

gracias
  #5 (permalink)  
Antiguo 21/07/2005, 10:10
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
mmmmm, pero lo que te puse es un ejemplo simple. Solo copia el código en una página asp y correlo.

vEdad = 25
select case vEdad<18
case true
Response.Write "La persona es menor de edad"
case Else
Response.Write "La persona es mayor de edad"
end select

Aunque un Select-Case se utiliza cunado el uso de IF-ELSEIF-ELSE o IF's anidados, complicarían mucho el código

vUsuario = "Juan"
select case vUsuario
case "Hugo"
Response.Write "El usuario es Hugo"
case "Paco"
Response.Write "El usuario es Paco"
case "Luis"
Response.Write "El usuario es Luis"
Else
Response.Write "El usaurio debe ser Donald"
end select
  #6 (permalink)  
Antiguo 21/07/2005, 10:17
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 1 mes
Puntos: 9
Primero, fijate en lo que puso Myakire, te va a servir para entender para que sirve. Después, acá te dejo un ejemplo que uso yo en mi sitio. Lo único que hago es depende del valor que tome la variable param, le asigno distintos valores a las variables OrderBy y newParamN. Estas variables son las que utilizo para hacer la ordenación de los registros en la sentencia SQL.
El CASE ELSE en este ejemplo sirve para dar el criterio de ordenación por defecto y los valores por defecto de las variables newParam1, newParam2...newParamN.
Este es el código:

Código:
param = Request.Form("hid_Param")
 
SELECT CASE param
 
			CASE "0a"
					 OrderBy = "REP_NOMCOMPLETO ASC"
					 newParam0 = "0b"
 
			CASE "0b"
					 OrderBy = "REP_NOMCOMPLETO DESC"
					 newParam0 = "0a"
 
			CASE "1a"
					 OrderBy = "REP_NICK ASC"
					 newParam1 = "1b"
 
			CASE "1b" 
					 OrderBy = "REP_NICK DESC"
					 newParam1 = "1a"
 
			CASE "2a"
					 OrderBy = "REP_ACCESO ASC"
					 newParam2 = "2b"
 
			CASE "2b"
					 OrderBy = "REP_ACCESO DESC"
					 newParam2 = "2a"
 
			CASE "3a"
					 OrderBy = "REP_MIEMBRODESDE ASC"
					 newParam3 = "3b"
 
			CASE "3b"
					 OrderBy = "REP_MIEMBRODESDE DESC"
					 newParam3 = "3a"
 
			CASE ELSE 
					OrderBy = "REP_NOMCOMPLETO ASC"
					newParam0 = "0b"
					newParam1 = "1a"
					newParam2 = "2a"
					newParam3 = "3a"
END SELECT
Espero que te sea útil para comprender.
Saludos!.


-------------------------------------------------------------------

Disculpa, pero no me respeta la estructura que le había dado al código para que sea más entendible, me lo puso todo muy espaciado.
__________________
Add, never Remove
  #7 (permalink)  
Antiguo 21/07/2005, 10:20
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 20 años, 11 meses
Puntos: 5
una pregunta con respecto a esto....
se puede hacer que en una opcion del select se pueda entrar mas de una vez... para no estar repitiendo las cosas...

ejemplo:

Código:
 select case opcion 
	 case 1
		 lo que sea 1
	 case 2
		 lo que sea 2
	 case 3
		 lo que sea 3
	 case else
		 lo que sea 4
end select
pasarlo así:

Código:
 select case opcion 
	 case 1 : case 2
		 lo que sea 1 y 2
	 case 3
		 lo que sea 3
	 case else
		 lo que sea 4
end select
que una opcion del case pueda servir para dos opciones multiples.... me explico.. asi no funciona pero era para ver si alguien sabe como es?? pero que haga esto mismo.

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #8 (permalink)  
Antiguo 21/07/2005, 10:41
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 3 meses
Puntos: 98
Te refieres a esto?

Código:
SELECT CASE algo
  case 1,2
    lo que sea 1 y 2
  case 3
    lo que sea 3
  case 4
    lo que sea 4
END SELECT
Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 21/07/2005, 10:42
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 20 años, 11 meses
Puntos: 5
jajjaaja tan simple era!!!!! ya lo probe y funciona.... jajajajaj yo pensaba que era utilizando los dos puntos (:).

gracias UG.
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #10 (permalink)  
Antiguo 21/07/2005, 10:49
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 3 meses
Puntos: 98
Si, lo peor es que es de esas cosas que a veces por desidia no las buscas, y siempre te preguntas: como sera esto? precisamente con este caso a mi me paso hace ya un tiempo je je

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #11 (permalink)  
Antiguo 21/07/2005, 10:51
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 20 años, 11 meses
Puntos: 5
jejeje si, tienes razon.
cool y gracias
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 4 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 12:24.