none
buscar una fila de un DataGridView y extraer sus datos

    Question

  • un saludo para todos.....bueno mi pregunta es la siguiente...mi proyecto empieza con un Log In donde  el usuario està registrado previamente...luego debe ingresar sus datos...y cuando haga click en el boton "ingresar" debo validar si ese usuario es alumno o administrador ¿al ingresar los datos como busco su fila correspondiente y extraigo solo los datos q me interesan(alumno o administrador)?

    PD: mi conexion con la base de datos es sql server y estoy trabajando con visual basic.NET

     esperando q me ayuden, gracias de antemano....

    Saturday, November 10, 2012 6:53 PM

All replies

  • ¿al ingresar los datos como busco su fila correspondiente y extraigo solo los datos q me interesan(alumno o administrador)?

    lo que no entendi es que tiene que ver el datagridview que mencionas en el titulo si se supone que realizas una query a la db directamente, no hay ningun control involucrado

    Dim tipo As String = ""
    
    Using cn As New SqlConnection(ConnectionString)
    	cn.Open()
    	Dim query As String = "SELECT tipo FROM NombreTabla WHERE id = @id"
    	Dim cmd As New SqlClient.SqlCommand(query, cn)
    
    	cmd.Parameters.AddWithValue("@id", CInt(txtid.Text))
    	tipo = Convert.ToString(cmd.ExecuteScalar())
    End Using


    alli recuperas el valor del campo que devuelve alumno/admin, imagino tendrias ya un id de la persona para recuperar el registro, proque esto es luego de autenticar

    Nota: como no mencionaste la estructura de la tabla la invente, asi que debes adaptar los nombres

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Saturday, November 10, 2012 7:03 PM
  • Pero esto nada tiene que ver con extraer los datos de un DataGridView ya que si apenas haras un login como es que tienes datos en un DataGridView?, yo pienso que lo que quieres hacer es un Select a la tabla que contiene los datos de los usuarios.

    Para eso solo necesitas hacer un select como este:

    SELECT * FROM Usuarios WHERE Num_usuario = '12'

    Esa es la consulta que tienes que hacer, claro que desde Vb tendras que usar los objetos de ADO.Net para SQLServer, ademas de accionar dependiendo del valor que recibas "Usuario" o "Administrador" y ni que decir de usar paramatros para hacer la consulta.


    Saludos desde Monterrey, Nuevo León, México!!!

    Saturday, November 10, 2012 7:04 PM
  • bueno leandro talvez no formule muy bien mi pregunta....lo que pasa es que mi conexion a la bd es directamente desde el datagrid   (como lo aprendi yo mediante wizard) ....entonces  cuando hago correr mi programa ya esta mi datagrid....me parecia mas facil q el usuario al ingresar sus datos y le de click en el boton solo haga una busqueda de su fila y me devuelva en un txt si es alumno o admi    ......gracias nuevamente

    Saturday, November 10, 2012 7:16 PM
  • los usuarios ya estan previamente registrados.......solo quiero validar si el usuario ingresado es un alumno o admi(son dos columnas diferentes) talvez no plantee bien mi preg...     gracias nuevamente
    Saturday, November 10, 2012 7:20 PM
  • como lo aprendi yo mediante wizard

    mm no es la mejor forma de aprenderlo, el eizard esta bien para algo simple pero cuando planteas alguna busquea mas puntual no lo recomiendo

    deberias aprender a usar lso objetos de ado.net para consultar directo al db y olvidarte de los wizard

    entonces  cuando hago correr mi programa ya esta mi datagrid....me parecia mas facil q el usuario al ingresar sus datos y le de click en el boton solo haga una busqueda de su fila

    me parece uan pesima decision, ademas de la performance es horrible

    los datos se buscas en al db no en controles


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Saturday, November 10, 2012 7:23 PM
  • Creo que lejos de Formular bien tu pregunta creo que no esta bien es la manera en que quieres manejar el login de tu aplicacion, porque mostrar en DataGridView la lista de los usuario actualmente registrados para tu aplicacion es un hueco terrible de seguridad, se supone que para eso es el Login para ver si un usuario puede accesar y manipular tu aplicacion, exponer una lista de los usuarios creo que facilita la tarea de un intruso mal intensionado.

    Ahora, para el hacer el login no tendras mas remedio que hace un select a tu Bd que te valide el usuario y contraseña ademas de que te traiga como resultado el Tipo de usuario que es, ya sea administrador o comun, despues de esto insisto tendras que actuar mostrando, habilitando y bloqueando aquellas cosas que no puede ver un usuario comun en relacion con un Administrador, pero no mostrando nada de informacion sin antes haber pasado la regla del Login.

    Suerte!


    Saludos desde Monterrey, Nuevo León, México!!!

    Saturday, November 10, 2012 7:23 PM
  • Es decir que necesitas buscar en la base de datos, el nombre de usuario y su categoria, obio que tenes en una columna con la categoria del individuo no?

    bueno eso se puede hacer con una consulta y la respuesta puede ser un valor booleano que indique si es administrador o no, espero que eso ayude, pero necesitamos saber si estamos en lo correcto o que, saludos.

    Sunday, November 11, 2012 7:17 AM
  • bueno eso se puede hacer con una consulta y la respuesta puede ser un valor booleano que indique si es administrador o no, espero que eso ayude,

    pero entonces vas a realizarlo con una query a la db ? porque hasta ahora dices que lo realizarias contra un control datagridview

    podria ser

    Public Function EsAdmin(id As Integer) As Boolean
    
    	Using cn As New SqlConnection(ConnectionString)
    		cn.Open()
    		Dim query As String = "SELECT Count(*) FROM NombreTabla WHERE id = @id AND tipo = 'ADMIN'"
    		Dim cmd As New SqlClient.SqlCommand(query, cn)
    
    		cmd.Parameters.AddWithValue("@id", CInt(txtid.Text))
    		Dim cant As Integer = Convert.ToString(cmd.ExecuteScalar())
    		
    		If cant > 0 Then
    			Return True
    		Else
    			Return False
    		End If
    		
    	End Using
    	
    End Function

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Sunday, November 11, 2012 11:13 AM
  • pues si, eso lo se .....pero es q decidi trabajar de esta forma por q haciendo consultas para validarme si el usuario es admi/alumno  me aparecia un ConstrainException....pues no lo pude resolver......si alguien supiero algo de esto se lo agradeceria....

    Tuesday, November 13, 2012 3:12 PM