Foros del Web » Programando para Internet » ASPX (.net) »

SqlDataSource con SelectParameter y sus Limitaciones

Estas en el tema de SqlDataSource con SelectParameter y sus Limitaciones en el foro de ASPX (.net) en Foros del Web. Buenos dias! Armo este ejemplo basico para demostrar lo que sucede con un desarrollo web. En un archivo aspx contiene un SqlDataSource que incluye el ...
  #1 (permalink)  
Antiguo 01/03/2010, 19:17
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Pregunta SqlDataSource con SelectParameter y sus Limitaciones

Buenos dias!

Armo este ejemplo basico para demostrar lo que sucede con un desarrollo web.

En un archivo aspx contiene un SqlDataSource que incluye el siguiente SELECT:
Código SQL:
Ver original
  1. SelectCommand="SELECT * FROM usuario WHERE (nombre=@nombre) AND (apellido=@apellido)"

Recibe dos parametros para la busqueda desde dos TextBox:
Código ASP:
Ver original
  1. <SelectParameters>
  2.         <asp:ControlParameter Name="nombre" ControlID="TextBoxNombre" />            
  3.         <asp:ControlParameter Name="apellido" ControlID="TextBoxApellido" />            
  4. </SelectParameters>

Esto funciona a la perfeccion, pero, el problema sucede cuando uno de los TextBox esta vacio la consulta no se ejecuta... Es decir, si solo ingreso nombre y no apellido, no pasa nada.

¿Por que?

Buscando por la web no encontre ejemplo alguno que use mas de un parametro, por lo que me llama la atencion, lo raro de este problema. Pues bien, alguno dira, que la solucion podria ser usando code behind, pero me gustaria saber que es lo que sucede en la situacion planteada. Gracias!
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #2 (permalink)  
Antiguo 01/03/2010, 23:36
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Respuesta: SqlDataSource con SelectParameter y sus Limitaciones

el control SqlDataSource tiene una propiedad... no recuerdo el nombre exacto..algo como Cancel Select on null parameter... no creo que sea ese nombre tan largo pero por ahi va...

El caso que esta propiedad por default esta en true... si se le manda null a un parametro..simplemente cancela la ejecucion del query...

Otra cosa, tal vez tengas que cambiar el query para prevenir el null...

SELECT * FROM usuario WHERE (isnull(nombre,'')=isnull(@nombre,'')) AND (isnull(apellido,'')=isnull(@apellido,''))"
  #3 (permalink)  
Antiguo 02/03/2010, 00:08
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
De acuerdo Respuesta: SqlDataSource con SelectParameter y sus Limitaciones

Buenisimo, no sabia que simplemente se cancelaba el query cuando recibia un parametro null. La propiedad que mencionas es CancelSelectOnNullParameter
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #4 (permalink)  
Antiguo 02/03/2010, 00:47
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Respuesta: SqlDataSource con SelectParameter y sus Limitaciones

nombre muy largo para una propiedad... pero a la vez muy descriptivo

saludos
  #5 (permalink)  
Antiguo 04/05/2011, 19:08
 
Fecha de Ingreso: mayo-2011
Mensajes: 1
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: SqlDataSource con SelectParameter y sus Limitaciones

me pasa el mismo problema que a ti , ya hice lo de CancelSelectOnNullParameter , pero cada vez que ingresa a la pagina por primera vez (uso el DataSource con un GridView) , el GridView lista TODOS los datos como peudo hacer para que esto no suceda?

Gracias Anticipadamente

Etiquetas: sqldatasource, aspx
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 1 personas




La zona horaria es GMT -6. Ahora son las 10:51.