Usuario
Guardar id en sql de usuario que inicio sesion con c#

Pregunta
-
Hola! alguien que pueda orientarme por favor, estoy trabajando en c# con base de datos en sql. Tengo un formulario para hacer login y resulta que al ingresar, se me presenta un formulario en el cual debo mandar a sql algunos datos, pero el problema es que tambien debo mandar el id de la persona que inicio la sesion. Ya he buscado y no encuentro algo concreto.
Todas las respuestas
-
Hola Amuñoz
Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, vamos a darte seguimiento e investigaremos para buscar la mejor respuesta para ti.
Gracias por usar los foros de MSDN.
Luis Diego Mora
____
Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.
Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.
-
hola
que tipo tipo de aplicacion hablamos? winform, web. mobile
>>Tengo un formulario para hacer login y resulta que al ingresar
Como implementas el login? realizas un SELECT a la tabla de usuario, usando el nombre y passoword de la persona?
si es asi porque cuando ejecutas el SELECT no recuperas el registro de ese usuario y tomas el valor de la columna Id
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
hola
que tipo tipo de aplicacion hablamos? winform, web. mobile
Como implementas el login? realizas un SELECT a la tabla de usuario, usando el nombre y passoword de la persona?
Hola! estoy en c# tarbajando con windows form, este es el codigo que utilizo para hacer login, lo tengo en una tabla:
public static int Autentificar(String pUsuarios, String pContrasena) { int resultado = -1; SqlConnection cn = Conexion(); SqlCommand comando = new SqlCommand(string.Format("Select * From Usuarios Where Usuario = '{0}' and PwdCompare('{1}',Contrasena) = 1 ", pUsuarios, pContrasena), cn); cn.Open(); SqlDataReader reader = comando.ExecuteReader(); while (reader.Read()) { resultado = 50; } cn.Close(); return resultado; }
Y en mi form tengo e sigiente codigo en el boton de login:
private void btnIniciar_Click(object sender, EventArgs e) { if (Personal.Autentificar(txtUsuario.Text, txtPass.Text) > 0) { this.Hide(); FrmRegistrar f = new FrmRegistrar(); f.ShowDialog(); } else MessageBox.Show("Error en los datos"); }
Mi duda es, al momento de iniciar sesion y estar trabajando en otros formularios ya con el usuario autenticado, como saber quien es, he estado pensando en mostraro en un textbox, bueno que este oculto para de ahi guardarlo a mi otra tabla donde pide ese registro. Voy empezando en programacion y la verdad me complico un poco
- Editado Amuñoz sábado, 28 de marzo de 2020 15:15 falto datos
-
hola
Para autenticar deberias usar algo como esto
public static bool Autentificar(String pUsuarios, String pContrasena) { using(SqlConnection cn = Conexion()) { cn.Open(); string query = "Select * From Usuarios Where Usuario = @usuario and PwdCompare(@password,Contrasena) = 1 "; SqlCommand comando = new SqlCommand(, cn); comando.Parameters.AddWithValue("@usuario", pUsuarios); comando.Parameters.AddWithValue("@password", pContrasena); SqlDataReader reader = comando.ExecuteReader(); if(reader.Read()) { return true; } } return false; }
No se de dodne salio eso del -1 o del 50 que retornas, pero en una autenticacion eso no aplica
Despues de autenticar obtienes al usuario
public class Usuario { public int Id {get;set;} public int Nombre {get;set;} } public static Usuario ObtenerUsuario(String pUsuarios) { using(SqlConnection cn = Conexion()) { cn.Open(); string query = "Select Id, Nombre From Usuarios Where Usuario = @usuario"; SqlCommand comando = new SqlCommand(, cn); comando.Parameters.AddWithValue("@usuario", pUsuarios); SqlDataReader reader = comando.ExecuteReader(); if(reader.Read()) { return new Usuario() { Id = Convert.ToInt32(reader["Id"]), Nombre = Convert.ToInt32(reader["Nombre"]) }; } } return null; }
defines una entidad que lo represente y asignas las propiedades
Ademas usa siempre parametros, eso de concatenar los valores en un string es una pesima practica
>>he estado pensando en mostraro en un textbox, bueno que este oculto para de ahi guardarlo
porque harias eso, sino vas a mostrando ponlo en una variablea nivel del form o si quieres que sea mas global la defines como static
Un control oculto, de verdad?, que ocurrencias
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
Hola Amuñoz
¿Alguna actualización sobre la consulta realizada? ¿Alguna de las respuestas proporcionadas te ayudó?
Espero tu respuesta.
Gracias por usar los foros de MSDN.
Luis Diego Mora
--------------------------------------------------------------------------
Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.
Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.
- Editado Luis Diego MoraModerator martes, 31 de marzo de 2020 17:45