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

Uso de variable en SelectCommand ASP.Net

Estas en el tema de Uso de variable en SelectCommand ASP.Net en el foro de ASPX (.net) en Foros del Web. Hola amigos tengo una duda que me trae de cabeza, es muy simple pero no se como hacer Tengo la siguiente consulta a base de ...
  #1 (permalink)  
Antiguo 29/03/2011, 17:21
 
Fecha de Ingreso: junio-2008
Mensajes: 4
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Uso de variable en SelectCommand ASP.Net

Hola amigos
tengo una duda que me trae de cabeza, es muy simple pero no se como hacer
Tengo la siguiente consulta a base de datos

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:it_sasConnectionString %>"
SelectCommand="
SELECT *
FROM [V_08_INV_VS_OS]
WHERE (
[ID_CLIE] BETWEEN @VAR_CLIE_INI AND @VAR_CLIE_FIN AND
[ID_SUC] BETWEEN @VAR_SUC_INI AND @VAR_SUC_FIN
)
ORDER BY CASE
WHEN @VAR_ORDEN = 2 THEN [ID_LVENTA]
WHEN @VAR_ORDEN = 4 THEN [ID_MARCA]
END
">
<SelectParameters>
<asp:QueryStringParameter Name="VAR_CLIE_INI" QueryStringField="ID_CLIE" Type="Int32" DefaultValue="1" />
<asp:QueryStringParameter Name="VAR_CLIE_FIN" QueryStringField="ID_CLIE" Type="Int32" DefaultValue="999999999" />
<asp:QueryStringParameter Name="VAR_SUC_INI" QueryStringField="ID_SUC" Type="Int32" DefaultValue="1" />
<asp:QueryStringParameter Name="VAR_SUC_FIN" QueryStringField="ID_SUC" Type="Int32" DefaultValue="999999" />
<asp:QueryStringParameter Name="VAR_NULL" QueryStringField="TICKETS" Type="String" DefaultValue="AND" />
<asp:QueryStringParameter Name="VAR_ORDEN" QueryStringField="ORDEN" Type="Int32" DefaultValue="26" />
</SelectParameters>
</asp:SqlDataSource>

hasta aqui todo bien, el problema biene cuando quiero cambiar el "AND" de la consulta por la variable VAR_NULL
e intentado @VAR_NULL y otras tantas pero marca error
despues intente meter una variable local declarandola asi:
<% var condicion = "AND"; %>
e intente meterla al SelectCommand asi, <%=condicion%> o "+condicion+" y muchas otras mas...
espero su ayuda para meter esa variable cachada a la consulta, de antemano gracias
  #2 (permalink)  
Antiguo 05/04/2011, 15:36
Avatar de DeHoyNoPasa  
Fecha de Ingreso: junio-2008
Ubicación: Valencia
Mensajes: 28
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Uso de variable en SelectCommand ASP.Net

No se si te entiendo, .. no puedes cambiar el AND por una variable, faltaría el operador relacional. ¿me he perdido algo?
  #3 (permalink)  
Antiguo 05/04/2011, 18:03
 
Fecha de Ingreso: febrero-2010
Mensajes: 35
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Uso de variable en SelectCommand ASP.Net

Cita:
Iniciado por DeHoyNoPasa Ver Mensaje
No se si te entiendo, .. no puedes cambiar el AND por una variable, faltaría el operador relacional. ¿me he perdido algo?
Hasta donde se(y mira que no es mucho) no hay forma de cambiar esa instruccion And por una variable, de hecho como tal el select command no hay forma de modificarlo, su contenido (excluyendo las variables) es estatico, yo te recomiendo, si quieres que sea dinamico el select implementes mejor procedimientos almacenados, es mas facil y asi lograras lo que quieres implementar
  #4 (permalink)  
Antiguo 06/04/2011, 08:54
 
Fecha de Ingreso: junio-2008
Mensajes: 4
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Uso de variable en SelectCommand ASP.Net

Cita:
Iniciado por chusterboy Ver Mensaje
Hasta donde se(y mira que no es mucho) no hay forma de cambiar esa instruccion And por una variable, de hecho como tal el select command no hay forma de modificarlo, su contenido (excluyendo las variables) es estatico, yo te recomiendo, si quieres que sea dinamico el select implementes mejor procedimientos almacenados, es mas facil y asi lograras lo que quieres implementar
Es correcto... simplemente no me dejo meter la variable y en efecto termine haciendolo con un sp que les dejo por si a alguien le sirve, gracias por sus comentarios!!
@VAR_CLIE_INI NVARCHAR(100),
@VAR_CLIE_FIN NVARCHAR(100),
@VAR_SUC_INI NVARCHAR(100),
@VAR_SUC_FIN NVARCHAR(100),
@VAR_NULL NVARCHAR(100),
@VAR_EDO_INI NVARCHAR(100),
@VAR_EDO_FIN NVARCHAR(100),
AS
DECLARE @strQuery NVARCHAR(4000)
SET @strQuery = '
SELECT *
FROM dbo.V_08_INV_VS_OS
WHERE
ID_CLIE BETWEEN '+@VAR_CLIE_INI+' AND '+@VAR_CLIE_FIN+' AND
ID_SUC BETWEEN '+@VAR_SUC_INI+' AND '+@VAR_SUC_FIN+' '+@VAR_NULL+'
ID_EDO BETWEEN '+@VAR_EDO_INI+' AND '+@VAR_EDO_FIN+' )
ORDER BY '+@VAR_NOM_ORDEN+' '+@VAR_TIP_ORDEN+' '

EXEC(@strQuery)


por la parte del codigo quedo de la siguiente forma,

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:XX_XXXXXX%>"
SelectCommand="SP_V_08_INV_VS_OS" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:QueryStringParameter Name="VAR_CLIE_INI" QueryStringField="ID_CLIE" Type="String" DefaultValue="1" />
<asp:QueryStringParameter Name="VAR_CLIE_FIN" QueryStringField="ID_CLIE" Type="String" DefaultValue="999999999" />
<asp:QueryStringParameter Name="VAR_SUC_INI" QueryStringField="ID_SUC" Type="String" DefaultValue="1" />
<asp:QueryStringParameter Name="VAR_SUC_FIN" QueryStringField="ID_SUC" Type="String" DefaultValue="999999" />
<asp:QueryStringParameter Name="VAR_NULL" QueryStringField="TICKETS" Type="String" DefaultValue="AND" />
<asp:QueryStringParameter Name="VAR_EDO_INI" QueryStringField="ID_EDO" Type="String" DefaultValue="1" />
<asp:QueryStringParameter Name="VAR_EDO_FIN" QueryStringField="ID_EDO" Type="String" DefaultValue="999999999" />

Etiquetas: aspx, variables
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 15:02.