Foros del Web » Programación para mayores de 30 ;) » .NET »

Consulta sql

Estas en el tema de Consulta sql en el foro de .NET en Foros del Web. Hola estoy mostrando los datos de una consulta en un grid pero hay un campo que en la base de datos que es numerorico pero ...
  #1 (permalink)  
Antiguo 01/04/2005, 12:54
Avatar de Sayra  
Fecha de Ingreso: diciembre-2004
Mensajes: 365
Antigüedad: 19 años, 4 meses
Puntos: 1
Consulta sql

Hola estoy mostrando los datos de una consulta en un grid

pero hay un campo que en la base de datos que es numerorico

pero me gustaria que si es mayor que 3 el numero en grid en lugar de valor numerico me muestre un mensaje


la consulta la hago asi

Dim DS As DataSet
Dim MyCommand As SqlDataAdapter
Dim strSql As String = "Select UserID, Name, Email, Login, Password, intentosEntrarAplicacion, ultimaModificacionPass from rb_Users"

MyCommand = new SqlDataAdapter(strSql, PortalSettings.SqlConnectionString)

DS = new DataSet()
MyCommand.Fill(DS, "rb_Users")

MyDataGrid.DataSource=DS.Tables("rb_Users").Defaul tView
MyDataGrid.DataBind()

donde el campo numerico tiene le nombre de
intentosEntrarAplicacion
  #2 (permalink)  
Antiguo 01/04/2005, 13:29
Avatar de Sayra  
Fecha de Ingreso: diciembre-2004
Mensajes: 365
Antigüedad: 19 años, 4 meses
Puntos: 1
yo me lo imagino asi
pero no se como hacerlo en codigo


Dim DS As DataSet
Dim MyCommand As SqlDataAdapter
Dim strSql As String = "Select UserID, Name, Email, Login, Password, intentosEntrarAplicacion, ultimaModificacionPass from rb_Users"
If intentosEntrarAplicacion > 3 then
muestra el valor del intentosEntrarAplicacion como bloqueado

else
muestra el valor del intentosEntrarAplicacion como desbloqueado

MyCommand = new SqlDataAdapter(strSql, PortalSettings.SqlConnectionString)

DS = new DataSet()
MyCommand.Fill(DS, "rb_Users")

MyDataGrid.DataSource=DS.Tables("rb_Users").Defaul tView
MyDataGrid.DataBind()
  #3 (permalink)  
Antiguo 01/04/2005, 14:07
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
La manera en que yo lo hago es que desde mi grid mando a llamar un método para regresar la info y procesarla..

ejemplo:

Cita:
...
...
<asp:TemplateColumn>
<ItemTemplate>
<%# ReturnInfo(Container.DataItem("miCampo")) %>
</ItemTemplate>
</asp:TemplateColumn>
Y en el codebehind...:

Cita:
Protected Function ReturnInfo(ByVal iValue As Integer) As String

If iValue > 3 Then
Return "mi mensaje"
Else
Return iValue
End If
End Function
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 04/04/2005, 07:02
Avatar de Sayra  
Fecha de Ingreso: diciembre-2004
Mensajes: 365
Antigüedad: 19 años, 4 meses
Puntos: 1
Hola que tal RootK muchas gracias por responder

Sin embargo cuando se mayor que 3 quiero que el mensaje se "Bloqueado"

Y cuando sea menor que 3 que la casilla en el grid aparezca en blanco

Yo pense darle asi

Pero asi me muestra


Protected Function ReturnInfo(ByVal iValue As Integer) As String
If iValue > 3 Then
Return "Bloqueado" '"mi mensaje"
Else if iValue < 3 then
Return "" 'iValue
End If
End Function

pero siempre me los muestra vacio aunque sea mayor que 3

Gracias de antemano
  #5 (permalink)  
Antiguo 04/04/2005, 09:32
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Como tienes el html,has probao ha meter dentro del <ItemTemplate>
un label y meter lo q devuleva esa funcion en la propiedad text del label.....
  #6 (permalink)  
Antiguo 04/04/2005, 09:46
 
Fecha de Ingreso: marzo-2005
Mensajes: 81
Antigüedad: 19 años, 1 mes
Puntos: 0
Select UserID, Name, Email, Login, Password, intentosEntrarAplicacion,
case ultimaModificacionPass when 1 then 'Desbloqueado'
when 2 then 'Desbloqueado'
when 3 then 'Desbloqueado'
else 'Bloqueado' end ultimaModificacionPass
from rb_Users

Asi cuando se 1,2 y 3 estara desbloqueado si no bloqueado

espero que eso te funcione.
  #7 (permalink)  
Antiguo 04/04/2005, 10:00
Avatar de Sayra  
Fecha de Ingreso: diciembre-2004
Mensajes: 365
Antigüedad: 19 años, 4 meses
Puntos: 1
Pues te cuento que en efecto en html tengo un label, justamente asi

<asp:TemplateColumn SortExpression="intentosEntrarAplicacion" HeaderText="Bloqueado">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "intentosEntrarAplicacion") %>' ID="Label4" NAME="Label6"/>
</ItemTemplate>
<ItemTemplate>
<%# ReturnInfo(Container.DataItem("intentosEntrarAplic acion")) %>
</ItemTemplate>
</asp:TemplateColumn>

La cosa es cuando le dijo que me muestre el mensaje me da error

Protected Function ReturnInfo(ByVal iValue As Integer) As String

If iValue > 3 Then
Return Label4.text= "Bloqueado"
Else if iValue < 3 then
Return ""
End If
End Function

El error es el siguiente

No se ha declarado el nombre 'Label6'.

Pero si esta declarado dentro del template del datagrid o eso no es suficiente?

Gracias de antemano
  #8 (permalink)  
Antiguo 04/04/2005, 10:17
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Solo basta con que hagas ésto:

Cita:
<asp:TemplateColumn SortExpression="intentosEntrarAplicacion" HeaderText="Bloqueado">
<ItemTemplate>
<ItemTemplate>
<%# ReturnInfo(Container.DataItem("intentosEntrarAplic acion")) %>
</ItemTemplate>
</asp:TemplateColumn>
y en el code:

Cita:
Protected Function ReturnInfo(ByVal iValue As Integer) As String

If iValue > 3 Then
Return "Bloqueado"
Else
Return 0
End If
End Function
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #9 (permalink)  
Antiguo 04/04/2005, 10:33
Avatar de Sayra  
Fecha de Ingreso: diciembre-2004
Mensajes: 365
Antigüedad: 19 años, 4 meses
Puntos: 1
Hola RootK, gracias por la respuesta

Ya esta listo eso era todo

Nos vemos

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 05:41.