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

Que es mejor case o if???

Estas en el tema de Que es mejor case o if??? en el foro de ASP Clásico en Foros del Web. Hola programadores necesito una pequeña ayuda necesito seleccionar una de dos consultas para que me arroje los datos alguna ayuda de como hacerlo????? @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 29/06/2010, 10:17
 
Fecha de Ingreso: mayo-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Que es mejor case o if???

Hola programadores necesito una pequeña ayuda necesito seleccionar una de dos consultas para que me arroje los datos

alguna ayuda de como hacerlo?????



Código ASP:
Ver original
  1. <&#37;  
  2.  
  3.     Set rs1 = Server.CreateObject("ADODB.Recordset")
  4.    selectSQL1="select * from Proy_gral where prycategoria='"&consulta &"' "& condicion
  5.  response.Write(selectSQL)
  6. Set rs1=prycxn.execute(selectSQL1)
  7.  
  8.        
  9. %>


esta es mi consulta normal pero como le agregue mas datos de otra columna
nesecito tambien jalarlos y segun sea el dato de la columna que necesito

quiero meter esta consulta ya sea con un caso o un if
Código ASP:
Ver original
  1. <%      
  2.         Set rs1 = Server.CreateObject("ADODB.Recordset")
  3.      
  4.     AbirtosCerrados    
  5.         selectSQL1 ="select * from Proy_gral where (pryarea1="&consulta&" or pryarea2=" &consulta&" or pryarea3="&consulta &" or pryarea4="& consulta&" or pryarea5="&consulta & ") " & condicion
  6.  
  7.         Set rs1=prycxn.execute
  8. (selectSQL1)%>
  #2 (permalink)  
Antiguo 29/06/2010, 10:27
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
Respuesta: Que es mejor case o if???

Qué es lo que determina por cuál campo debes de preguntar?
Es acaso algún parámetro?
O siempre hay que preguntar por el valor de consulta en todos los campos?
  #3 (permalink)  
Antiguo 29/06/2010, 10:29
 
Fecha de Ingreso: mayo-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Que es mejor case o if???

Si siempre necesit preguntar por el valor de dicha consulta en todos los campos
  #4 (permalink)  
Antiguo 29/06/2010, 10: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
Respuesta: Que es mejor case o if???

Entonces como la tienes esta bien, con OR's en el WHERE

En SQL no hay CASE en el WHERE solo en el SELECT
  #5 (permalink)  
Antiguo 29/06/2010, 10:58
 
Fecha de Ingreso: mayo-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Que es mejor case o if???

Si Grax pero en ese caso solo me jala el tipo de area no importando si sean liquidos o solidos los proyectos en la segunda consulta, lo q necesito esq cuando tengo mi menu desplegable
cuando elija los liquidos me de todos los liquidos o vicebersa con los solidos,
mi problema es q cuando le de un tipo de area me de los de ese tipo de area al que seleccione en mi menu.
hasta el momento cuando le doy liquidos o sinteticos me arroja los datos
El problema es cuando le doy el tipo de area no me arroja nada
por que no eh metido las dos consultas bien????
Cm lo podria hacer ya intente con un ejemplo asi
Código ASP:
Ver original
  1. if value="Sinteticos" and value="Liquidos" then
  2. Set rs1 = Server.CreateObject("ADODB.Recordset")
  3. selectSQL1 ="select * from Proy_gral where prycategoria='"&consulta &"' "& condicion
  4. else
  5. Set rs1 = Server.CreateObject("ADODB.Recordset")
  6. selectSQL1 ="select * from Proy_gral where (pryarea1="&consulta&" or pryarea2=" &consulta&" or pryarea3="&consulta &" or pryarea4="& consulta&" or pryarea5="&consulta & ") " & condicion
  7. end if
pero solo me arroja las areas enq ando mal o ando muy lejos jejejje ayuda!!!
  #6 (permalink)  
Antiguo 29/06/2010, 11:22
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
Respuesta: Que es mejor case o if???

Cita:
if value="Sinteticos" and value="Liquidos" then
Si condición dice: En caso de la value sea igual a "Sinteticos" Y también sea igual a "Liquidos", entonces ...

Claramente eso jamás se va a cumplir, es igual a una cosa O a otra cosa
  #7 (permalink)  
Antiguo 29/06/2010, 11:33
 
Fecha de Ingreso: mayo-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Que es mejor case o if???

si pero si lo hago de esta forma

Código ASP:
Ver original
  1. <&#37;  
  2.  
  3.  if value="Sinteticos" OR value="Liquidos" then
  4.  Set rs1 = Server.CreateObject("ADODB.Recordset")
  5.  selectSQL1 ="select * from Proy_gral where prycategoria='"&consulta &"' "& condicion
  6.      response.Write(selectSQL)
  7.  set rs1 = prycxn.execute(selectSQL1)
  8.  else
  9.  Set rs1 = Server.CreateObject("ADODB.Recordset")
  10.  selectSQL1 ="select * from Proy_gral where (pryarea1="&consulta&" or pryarea2=" &consulta&" or pryarea3="&consulta &" or pryarea4="& consulta&" or pryarea5="&consulta & ") " & condicion
  11.  set rs1 = prycxn.execute(selectSQL1)
  12.  end if
  13.        
  14. %>

me marca el siguient error

o en el ejemplo linea 11
cuando quiero consultar sinteticos o liquidos en las areas si me arroja los datos ya!!!

Microsoft OLE DB Provider for SQL Server error '80040e14'
Invalid column name 'Sinteticos'.

/Proyectosi/ProyAsp/PryConsulta.asp, line 1095

cm le hago
  #8 (permalink)  
Antiguo 29/06/2010, 15:30
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
Respuesta: Que es mejor case o if???

¿O sea que lo haces mal para que no te marque error?

Eso claramente es un error de mal formado del query, imprime el query antes de ejecutarlo y para que analices lo que se formó.

Si quieres ayuda para detectar el problema de sintaxis, págalo en el foro para que lo veamos
  #9 (permalink)  
Antiguo 30/06/2010, 11:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Que es mejor case o if???

este es el resultado del query::::


select * from Proy_gral where prycategoria='Liquidos' and etapa in (1,2,3,4,5)


help!!!!
  #10 (permalink)  
Antiguo 30/06/2010, 15:31
 
Fecha de Ingreso: mayo-2010
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Respuesta: Que es mejor case o if???

Hola listo ya encontre la solucion

Código ASP:
Ver original
  1. <%
  2.  
  3. if consulta="Sinteticos" OR consulta="Liquidos" Then
  4.  
  5. Set rs1 = Server.CreateObject("ADODB.Recordset")
  6. selectSQL1 ="select * from Proy_gral where prycategoria='"&consulta &"' "& condicion
  7. Set rs1=prycxn.execute(selectSQL1)
  8.  
  9. else
  10.  
  11. selectSQL1 ="select * from Proy_gral where (pryarea1="&consulta&" or pryarea2=" &consulta&" or pryarea3="&consulta &" or pryarea4="& consulta&" or pryarea5="&consulta & ") " & condicion
  12. Set rs1=prycxn.execute(selectSQL1)
  13. end if
  14.  
  15. %>


Gracias por la ayuda!!!

Etiquetas: case, mejoras
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




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