elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ayuda - guardar historial de lo que hace un usuario [C#]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda - guardar historial de lo que hace un usuario [C#]  (Leído 18,766 veces)
crifesma

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Ayuda - guardar historial de lo que hace un usuario [C#]
« en: 1 Septiembre 2010, 17:08 pm »

Buenos días.

les comento estoy haciendo un programa en visual studio professional 2010 C#.
el cual es para hacer facturas y recibos. tiene un login para varios usuarios (los cuales se registran antes y quedan guardados en una tabla de una base de datos de sql).

no es una aplicación cliente servidor, las personas que se trabajarían en el programa entrar por la red local al pc que tiene el programa y lo ejecutarían.

mi duda es, como hago para guardar en una tabla en la misma base de datos el historial de lo que hace cada usuario, guardando usuario, fecha y actividad. Y al hacer esto y si están dos usuario no hacer un doble asiento en la base. como hago para solo guardar cada uno. me dijeron que con un currentthread pero no se nada sobre esa clase ni método.

si me pudieran dar un ejemplo, sea de como guardar el historial o de como utilizar ese método de esa clase me gustaría mucho.

les agradezco de antemano.


« Última modificación: 1 Septiembre 2010, 19:25 pm por [D4N93R] » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Ayuda - guardar historial de lo que hace un usuario [C#]
« Respuesta #1 en: 1 Septiembre 2010, 17:39 pm »

Para mantener el historial, Crea una tabla "Historial" y en todas las otras tablas creas triggers que llenen la tabla Historial. Asi te queda guardado siempre y no desde la aplicacion :)

Y para que puedas identificar el historial de cada usuario, tienes que guardar tambien algun id de la conexion o algo (o hacer procedimientos almacenados por cada insert/update/delete que guarde junto al nombre de usuario :))


En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Ayuda - guardar historial de lo que hace un usuario [C#]
« Respuesta #2 en: 1 Septiembre 2010, 17:43 pm »

Hola,

El problema es que ya la aplicación está hecha, y no te sabría dar una buena respuesta ya que no se como está programada. Me podrías decir si usas Stored Procedures o Queries directamente?

Si usas Stored procedures, tienes que alterarlos para que acepten el usuario, entonces creas una tabla en donde, dentro del Stored procedure escribes el cambio que se hizo.

Si usas Queries, creas la misma tabla, pero tendrías que usar triggers.

Info sobre triggers: http://msdn.microsoft.com/en-us/library/ms189799.aspx

Saludos!
En línea

crifesma

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: Ayuda - guardar historial de lo que hace un usuario [C#]
« Respuesta #3 en: 1 Septiembre 2010, 18:02 pm »

no creo que me hice entender.

tengo un programa padre (container) el cual tiene un menu del cual se accede a recibos de diferentes empresas, yo quiero que cuando uno haga click para entrar a una de esas empresas se me guarde que usuario entro y que día y hora. yo realmente se hacerlo pero si tengo 2 usuarios grabo como si los dos usuario entraran en el mismo recibo.

este es el codigo de el fom login para identificar los 2 usuarios que admite.


Código
  1. private void Aceptar_Click(object sender, EventArgs e)
  2.        {
  3.            DataRow[] fila1 = principalDataSet.Usuarios.Select("Usuario LIKE '" + textBox1.Text + "'");
  4.            if (fila1.Length > 0)
  5.            {
  6.  
  7.                foreach (DataRow dr in fila1)
  8.                {
  9.                    usuario = dr["Usuario"].ToString();
  10.                    contraseña = dr["contraseña"].ToString();            
  11.                }
  12.            }
  13.  
  14.            if (textBox1.Text == usuario)
  15.            {
  16.                if (textBox5.Text == contraseña)
  17.                {
  18.                    if (((Principal)this.MdiParent).usuario1 == "")
  19.                    {
  20.                        ((Principal)this.MdiParent).usuario1 = textBox1.Text;
  21.                    }
  22.                    else
  23.                    {
  24.                        ((Principal)this.MdiParent).usuario2 = textBox1.Text;
  25.                    }
  26.  
  27.                    ((Principal)this.MdiParent).usuarioHabilitado(true);
  28.                    this.Close();
  29.                }
  30.                else
  31.                {
  32.                    MessageBox.Show("La contraseña esta errada");
  33.                }
  34.            }
  35.            else
  36.            {
  37.                MessageBox.Show("El usuario no Existe");
  38.            }
  39.        }
  40.  
  41.        private void Cancelar_Click(object sender, EventArgs e)
  42.        {
  43.            this.Close();
  44.        }        
  45.  
  46.        private void usuariosBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)
  47.        {
  48.            this.Validate();
  49.            this.usuariosBindingSource.EndEdit();
  50.            this.tableAdapterManager.UpdateAll(this.principalDataSet);
  51.        }
« Última modificación: 1 Septiembre 2010, 18:17 pm por crifesma » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Ayuda - guardar historial de lo que hace un usuario [C#]
« Respuesta #4 en: 1 Septiembre 2010, 18:20 pm »

yo quiero que cuando uno haga click para entrar a una de esas empresas se me guarde que usuario entro y que día y hora. yo realmente se hacerlo pero si tengo 2 usuarios grabo como si los dos usuario entraran en el mismo recibo.

Ps..... deberias guardar un solo usuario no?

En ese codigo que pusiste no hay nada referido a "Historial"....

PD: Luego deberias aprender mas cosas..... estas guardando contraseñas en texto plano! No deberias informar "contraseña erronea" porque te pueden romper la aplicacion y tu estas dando pistas con eso !!!
Lee sobre SQL Injection despues
En línea

.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: Ayuda - guardar historial de lo que hace un usuario [C#]
« Respuesta #5 en: 1 Septiembre 2010, 18:29 pm »

Y si pones que si uno este ya conectado el otro no pueda conectarse ?

O tu dices sobre usuarios diferentes ?
En línea

crifesma

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: Ayuda - guardar historial de lo que hace un usuario [C#]
« Respuesta #6 en: 1 Septiembre 2010, 18:44 pm »

yo quiero que cuando uno haga click para entrar a una de esas empresas se me guarde que usuario entro y que día y hora. yo realmente se hacerlo pero si tengo 2 usuarios grabo como si los dos usuario entraran en el mismo recibo.

Ps..... deberias guardar un solo usuario no?

En ese codigo que pusiste no hay nada referido a "Historial"....

PD: Luego deberias aprender mas cosas..... estas guardando contraseñas en texto plano! No deberias informar "contraseña erronea" porque te pueden romper la aplicacion y tu estas dando pistas con eso !!!
Lee sobre SQL Injection despues

es un programa que hago para mi empresa, el registro mas que todo es para que el compañero no se meta con la cuenta de uno a hacer cosas y que al equivocarse le echen la culpa a uno.

por eso las pongo en texto plano. no creo que el compañero se ponga a a dedicar un buen tiempo buscando cual es mi contraseña. aunque el consejo sobre la informacion esta bien, en ves de eso pondré usuario o clave errada.

no e puesto nada de guardar el historial porque debo saber como hacerlo antes de ponerlo.

2 usuarios porque tenemos 2 pc y en muchas ocasiones la gente que nos pagan viene de a dos para hacer dos recibos de empresas diferentes entonces hay que esperar que el otro termine para seguir. me parece no muy eficiente. se que hay mejores formas de hacer el programa como un cliente servidor. es mi primer programa entonces comenzare con algo sencillo.

no supe explicar en una parte, como se cual de los dos usuarios si están activos fue el que activo el botón para ingresar a un recibo.

Y si pones que si uno este ya conectado el otro no pueda conectarse ?

O tu dices sobre usuarios diferentes ?

como comente antes es para que el trabajo se mas eficiente ya que somos dos personas.
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Ayuda - guardar historial de lo que hace un usuario [C#]
« Respuesta #7 en: 1 Septiembre 2010, 19:07 pm »

Y bueno, entonces desde la aplicacion usa un archivo de texto como Historial, Dijiste que sabias hacerlo, pon la forma y te ayudaremos para que no tenga ese detalle de que "parece q las 2 hicieron lo mismo" (o algo asi)

La bd es Sql no ? QUe la aplicacion escriba en la tabla Historial tambien, por cada cosa que hace :)
En línea

crifesma

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: Ayuda guarda histroail de lo que hace un usuario en C#
« Respuesta #8 en: 1 Septiembre 2010, 19:31 pm »

esta son las funciones para registrar usuario 1 o 2 (esta funcion esta en el form padre).

las variables usario1 y usuario2 estan instanciadas al principio del mismo form como variables publicas, para que desde el form (hijo) login se le anexe el nombre del usuario (como pudieron ver en el primer codigo que puse).

Código
  1. public void seguiUsuario1(string fecha, string actividad)
  2.        {
  3.            conexion = new SqlConnection(@"Data Source=|DataDirectory"
  4.                +"|\\Principal.sdf");
  5.  
  6.            conexion.Open();
  7.  
  8.            SqlCommand query = new SqlCommand("Insert into SeguimientoUsuarios" +
  9.            "(Usuario,Fecha,Actividad) Values('" + usuario1 + "','" + fecha + "','"
  10.                + actividad + "');", conexion);
  11.        }
  12.        public void seguiUsuario2(string fecha, string actividad)
  13.        {
  14.            conexion = new SqlConnection(@"Data Source=|DataDirectory"
  15.                + "|\\Principal.sdf");
  16.  
  17.            conexion.Open();
  18.  
  19.            SqlCommand query = new SqlCommand("Insert into SeguimientoUsuarios" +
  20.            "(Usuario,Fecha,Actividad) Values('" + usuario2 + "','" + fecha + "','"
  21.                + actividad + "');", conexion);
  22.        }
  23.  

lo que no se es como indicarle cual de las dos funciones utilice el programa cuando hagan click en un boton ya que no se como identificar las acciones de cada usuario. por eso al final dije que como puedo hacer para saber cual de los dos usuarios izo click en el boton. con un usuario seria mucho mas facil  :P pero relamente quiero hacer lo asi.
En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Ayuda - guardar historial de lo que hace un usuario [C#]
« Respuesta #9 en: 1 Septiembre 2010, 19:40 pm »

Una pregunta, Esta aplicación que estás haciendo va en un ambiente productivo, es decir, va a funcionar dentro de una empresa?
En línea

Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como guardar modificaciones echas por el usuario en un LiveCD?
Windows
Eleкtro 0 2,122 Último mensaje 12 Diciembre 2011, 00:17 am
por Eleкtro
ayuda con el historial
Windows
elenan 4 2,778 Último mensaje 2 Julio 2012, 16:48 pm
por elenan
Ayuda guardar historial usando Java
Programación General
voiser 0 3,288 Último mensaje 27 Agosto 2012, 19:00 pm
por voiser
¿Cómo se hace para nombrar a un usuario?
Sugerencias y dudas sobre el Foro
Blowfish 5 4,179 Último mensaje 10 Marzo 2023, 03:07 am
por BloodSharp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines