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

asignar estados segun el usuario

Estas en el tema de asignar estados segun el usuario en el foro de .NET en Foros del Web. hola tengo un codigo el cual me funciona pero el problema es que solo funciona con el id y quiero es que salga el nombre ...
  #1 (permalink)  
Antiguo 03/05/2011, 10:34
 
Fecha de Ingreso: abril-2011
Mensajes: 27
Antigüedad: 8 años, 8 meses
Puntos: 1
asignar estados segun el usuario

hola
tengo un codigo el cual me funciona pero el problema es que solo funciona con el id y quiero es que salga el nombre del estado en el textbox
este es el codigo con el nombre:

estadosuser = Session("CESTADOS".ToString)
consulta3 = "select estados from USUARIO where estados = " & estadosuser & ""
dtUsuario = ExecuteQueryDataTable(consulta3)
txtestado.Text = dtUsuario.Rows(0)("estados").ToString

y este es error que me sale:

txtestado.Text = dtUsuario.Rows(0)("estados").ToString
No hay ninguna fila en la posición 0.


ojala me puedan ayudar
  #2 (permalink)  
Antiguo 03/05/2011, 10:48
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 9 años, 5 meses
Puntos: 267
Respuesta: asignar estados segun el usuario

Hola stefy61292 si te arroja el estado de que "No hay ninguna fila en la posicion 0" es porque tu consulta no arroja ninguna data, revisa bien tu consulta o con break points verifica que la data llegue a tu variable y nos comentas. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 03/05/2011, 10:51
 
Fecha de Ingreso: abril-2011
Mensajes: 27
Antigüedad: 8 años, 8 meses
Puntos: 1
Respuesta: asignar estados segun el usuario

hola pues hice esto no me sale error pero no me sale nada en el textbox
este es el codigo que tengo:

estadosuser = Session("CESTADOS".ToString)
consulta3 = "select estados from USUARIO where estados = @estados"
dtUsuario = ExecuteQueryDataTable(consulta3)

Using command As New SqlCommand(consulta3, connection)
command.CommandType = CommandType.Text
command.Parameters.AddWithValue("@estados", estadosuser)
connection.Open()

Dim dt As New DataTable()
Dim da As New SqlDataAdapter()
da.SelectCommand = command

If dtUsuario.Rows.Count > 0 Then

txtestado.Text = CStr(dtUsuario.Rows(0)("estados"))

End If

End Using

les agradesco mucho si me pueden ayudar
  #4 (permalink)  
Antiguo 03/05/2011, 10:54
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 9 años, 5 meses
Puntos: 267
Respuesta: asignar estados segun el usuario

Hola nuevamente stefy61292 has este codigo para corroborar que tenga data tu consulta :

Código vb.net:
Ver original
  1. If dtUsuario.Rows.Count > 0 Then
  2. txtestado.Text = CStr(dtUsuario.Rows(0)("estados"))
  3. Else
  4. MessageBox.Show("No hay datos en el DataTable")
  5. End If

si te bota el mensaje "No hay datos en el DataTable" es porque no hay data y deberias modifiar tu consulta. Saludos!..
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 03/05/2011, 11:04
 
Fecha de Ingreso: abril-2011
Mensajes: 27
Antigüedad: 8 años, 8 meses
Puntos: 1
Respuesta: asignar estados segun el usuario

hola pues coloque lo que me dijioste pero no me sale el mensaje y tampoco sale nada en el textbox y ya le hice un paso a paso y nada
este es el codigo que use:

estadosuser = Session("CESTADOS".ToString)
consulta3 = "select estados from USUARIO where estados = @estados"
dtUsuario = ExecuteQueryDataTable(consulta3)

Using command As New SqlCommand(consulta3, connection)
command.CommandType = CommandType.Text
command.Parameters.AddWithValue("@estados", estadosuser)
connection.Open()

Dim dt As New DataTable()
Dim da As New SqlDataAdapter()
da.SelectCommand = command

If dtUsuario.Rows.Count > 0 Then
txtestado.Text = CStr(dtUsuario.Rows(0)("estados"))
Response.Write("No hay datos en el DataTable")
End If

End Using

la verdad no se que sea
muchas gracias por ayudarme
  #6 (permalink)  
Antiguo 03/05/2011, 11:10
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 9 años, 5 meses
Puntos: 267
Respuesta: asignar estados segun el usuario

Ehm.... te falto el Else?

lo tienes asi :
Código vb.net:
Ver original
  1. If dtUsuario.Rows.Count > 0 Then
  2. txtestado.Text = CStr(dtUsuario.Rows(0)("estados"))
  3. Response.Write("No hay datos en el DataTable")
  4. End If
cuando deberia haber sido así :
Código vb.net:
Ver original
  1. If dtUsuario.Rows.Count > 0 Then
  2. txtestado.Text = CStr(dtUsuario.Rows(0)("estados"))
  3. Else
  4. Response.Write("No hay datos en el DataTable")
  5. End If
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #7 (permalink)  
Antiguo 03/05/2011, 11:36
 
Fecha de Ingreso: abril-2011
Mensajes: 27
Antigüedad: 8 años, 8 meses
Puntos: 1
Respuesta: asignar estados segun el usuario

hola si que pena no me fije
me sale el mensaje pero si hay datos en la tablas es muy raro por que con id si funciona
AYUDA POR FIS
  #8 (permalink)  
Antiguo 03/05/2011, 11:42
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 9 años, 5 meses
Puntos: 267
Respuesta: asignar estados segun el usuario

si te sale el mensaje entonces es porque no estas llenando ese datatable correctamente, ahora el problema se centra en tu query de la consulta:

viendo el inicio de este post corrijelo de esta manera :
Código vb.net:
Ver original
  1. estadosuser = Session("CESTADOS").toString
  2. consulta3 = "select estados from USUARIO where estados = '" & estadosuser & "'"
  3. dtUsuario = ExecuteQueryDataTable(consulta3)
  4. txtestado.Text = dtUsuario.Rows(0)(0).ToString
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #9 (permalink)  
Antiguo 03/05/2011, 12:24
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 9 años, 5 meses
Puntos: 267
Respuesta: asignar estados segun el usuario

espera... ahora que analizo bien tu consulta... "select estados from USUARIO where estados = xxxxxx' no es redundancia???? seleccionas estados del usuario donde estados va a ser igual a 1 estado? eso quiere decir que te va a botar el parametro que le pasas :S!!, analiza bien tu logica porque a mi parecer haces una consulta que bota como resultado el mismo que le pases como parametro :S
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Última edición por Aquaventus; 03/05/2011 a las 14:41
  #10 (permalink)  
Antiguo 03/05/2011, 15:12
 
Fecha de Ingreso: abril-2011
Mensajes: 27
Antigüedad: 8 años, 8 meses
Puntos: 1
Respuesta: asignar estados segun el usuario

hola
pues mira lo deje asi
estadosuser = Session("IDESTADOS".ToString)
consulta3 = "select id_estados from USUARIO where id_estados = " & estadosuser & ""
dtUsuario = ExecuteQueryDataTable(consulta3)
txtestado.Text = dtUsuario.Rows(0)("id_estados").ToString
y funciona

gracias por responder pues no quedo como queria pero bueno.

tengo una pregunta es que me sale un error en un pedazo de codigo que tengo me podrias ayudar
es este el codigo es para insertar un registro

If Exists(id_area) Then

Dim result As Boolean = Insert(ddlconsecutivo.Text, txtidarea.Text, txtfecha.Text, txtcantidad0.Text, DropDownList2.Text, txtidenti.Text, txtobservacion.Text, txtestado.Text)

If result Then

Response.Write("El registro se ha ingresado correctamente.")

End If

End If
End Sub

Private Function Insert(ByVal id_solicitud As Integer, ByVal id_area As String, ByVal fecha As DateTime, ByVal cantidad_solicitada As String, ByVal id_materiales As String, ByVal id_usuario As Integer, ByVal observaciones As String, ByVal id_estados As String) As Boolean


Dim sql As String = "INSERT INTO SOLICITUD(id_solicitud ,id_area,fecha,cantidad_solicitada,id_materiales,i d_usuario,observaciones,id_estados) VALUES (@id_solicitud, @id_area, @fecha, @cantidad_solicitada, @id_materiales, @id_usuario, @observaciones, @id_estados)"


Using conn As New SqlConnection("Data Source=STEFANNY-HERRER\SQLEXPRESS;Initial Catalog=papeleria;User ID=admin;Password=rscorp2011")

Dim Nextid_solictud As Integer = Maxid_solicitud() + 1

Dim command As New SqlCommand(sql, conn)

command.Parameters.AddWithValue("@id_solicitud", Nextid_solictud)

command.Parameters.AddWithValue("@id_area", id_area)

command.Parameters.AddWithValue("@fecha", fecha)

command.Parameters.AddWithValue("@cantidad_solicit ada", cantidad_solicitada)

command.Parameters.AddWithValue("@id_materiales", id_materiales)

command.Parameters.AddWithValue("@id_usuario", id_usuario)

command.Parameters.AddWithValue("@observaciones", observaciones)

command.Parameters.AddWithValue("@id_estados", id_estados)

conn.Open()

Dim rowsAffected As Integer = command.ExecuteNonQuery()

If rowsAffected > 0 Then


Return True

Else

Return False


y este es el error sale en esta parte del codigo

Dim result As Boolean = Insert(ddlconsecutivo.Text, txtidarea.Text, txtfecha.Text, txtcantidad0.Text, DropDownList2.Text, txtidenti.Text, txtobservacion.Text, txtestado.Text)


La conversión de la cadena "" en el tipo 'Integer' no es válida.

ojala me puedan ayudar
gracias
  #11 (permalink)  
Antiguo 03/05/2011, 15:23
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 9 años, 5 meses
Puntos: 267
Respuesta: asignar estados segun el usuario

En tu Metodo Insert tu pides que se pasen parametros de ciertos tipos y por lo tanto al enviar parametro a dicho metodo se Deben respetar los parametros que solicita tu metodo para que no obtengas estos problemas, ese error te sale porque estas pasando un cadena a un metodo que debe recibir un integer, en ese caso deberias transformalo con CInt(ddlConsecutivo.Text) y tambien controlar en caso esten vacios! pero asi como lo menciones deberia ser :

Código vb.net:
Ver original
  1. Dim result As Boolean = Insert(CInt(ddlconsecutivo.Text), txtidarea.Text, Convert.toDatetime(txtfecha.Text), txtcantidad0.Text, DropDownList2.Text, CInt(txtidenti.Text), txtobservacion.Text, txtestado.Text)

Espero haber aclarado tu duda. Saludos!..
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #12 (permalink)  
Antiguo 03/05/2011, 17:07
 
Fecha de Ingreso: abril-2011
Mensajes: 27
Antigüedad: 8 años, 8 meses
Puntos: 1
Respuesta: asignar estados segun el usuario

hola gracias ya lo solucione son muy amables

Etiquetas: estados, usuarios
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 16:06.