Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: crifesma en 1 Septiembre 2010, 17:08 pm



Título: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: crifesma 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.


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: raul338 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 :))


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: [D4N93R] 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 (http://msdn.microsoft.com/en-us/library/ms189799.aspx)

Saludos!


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: crifesma 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.        }


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: raul338 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


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: .mokk. 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 ?


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: crifesma 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.


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: raul338 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 :)


Título: Re: Ayuda guarda histroail de lo que hace un usuario en C#
Publicado por: crifesma 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.


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: [D4N93R] 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?


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: crifesma en 1 Septiembre 2010, 20:49 pm
Una pregunta, Esta aplicación que estás haciendo va en un ambiente productivo, es decir, va a funcionar dentro de una empresa?

Es de doble función :P estoy aprendiendo y si me sale bien va a ser un producto. ya se porque izo esa pregunta.

me imagino que bloqueara el post :( bueno.


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: raul338 en 1 Septiembre 2010, 20:59 pm
Porque haces dos metodos que hacen lo mismo ? mejor haz uno, con un parametro mas, y que lo guarde en la tabla :P
Algo asi
Código
  1. SqlCommand query = new SqlCommand("Insert into SeguimientoUsuarios" +
  2.            "(Usuario,Fecha,Actividad) Values('" + usuario + "','" + fecha + "','"
  3.                + actividad + "');", conexion, " + nusuario +);
  4.  
siendo nusuario 1 o 2 o depende de tu necesidad

Es de doble función :P estoy aprendiendo y si me sale bien va a ser un producto. ya se porque izo esa pregunta.
Pues deberias reforzarlo mas, asi es mas "confiable y profesional" ;)

me imagino que bloqueara el post :( bueno.
:huh: y eso porque ? no haz hecho nada "malo" :)


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: crifesma en 1 Septiembre 2010, 21:14 pm

Es de doble función :P estoy aprendiendo y si me sale bien va a ser un producto. ya se porque izo esa pregunta.
Pues deberias reforzarlo mas, asi es mas "confiable y profesional" ;)


me imagino que cuando hablas de reforzar dices sobre la seguridad??? la verdad tienes la razon.

si hablas de la forma en que programa al final depuro todo porque ya tendría mayor conocimiento y me daría cuenta de cosas mejores.

osea el proceso de creacion es me estudio y al final lo revison y miro que cosas se pueden mejorar.

bueno tienes razón por la de las funciones. la cambiare.

aun no me dicen con que funcion o clase o metodo puedo identificar cada usuario y saber que boton presionan o activan cada uno. solo necesito eso, un ejemplo. me dijeron que con un currentthread se podría. no se.



Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: [D4N93R] en 1 Septiembre 2010, 21:31 pm
Hola,

Te recomiendo sinceramente que primero sepas bien los fundamentos básicos antes de aventurarte a hacer una aplicación mediana-grande. Por ejemplo, una calculadora, conocer bien los procedimientos CRUD, saber como funciona el .net framework, investigar un poco más sobre BBDD, Gestores de BBDD, etc.

Por último leer conceptos de seguridad tanto para aplicaciones en .Net como conceptos en general.

Un saludo!

PD: El post no se va a cerrar, no hay problema en que quieras hacer un software y luego venderlo, si a eso te referías. :)


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: raul338 en 1 Septiembre 2010, 21:37 pm
Ademas de la seguridad, me referia a la integridad de la aplicacion

En cuanto a lo del usuario...  CurrentThread No tiene nada que ver :P

Código
  1. ((Principal)this.MdiParent).usuarioHabilitado(true);
  2. // ACA ACTUALIZAMOS EL HISTORIAL
  3. seguirUsuario(usuario, DateTime.Now, "Se logueo"); // ES UN EJEMPLO
  4. this.Close();
  5. // .................
  6.        public void seguirUsuario(string usuario, string fecha, string actividad)
  7.        {
  8.            conexion = new SqlConnection(@"Data Source=|DataDirectory|\\Principal.sdf");
  9.  
  10.            conexion.Open();
  11.  
  12.            SqlCommand query = new SqlCommand("Insert into SeguimientoUsuarios(Usuario,Fecha,Actividad) Values('" + usuario + "','"+ fecha + "','" + actividad + "');", conexion);
  13.        }
  14.  

Es un ejemplo :P


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: crifesma en 1 Septiembre 2010, 21:51 pm
Hola,

Te recomiendo sinceramente que primero sepas bien los fundamentos básicos antes de aventurarte a hacer una aplicación mediana-grande. Por ejemplo, una calculadora, conocer bien los procedimientos CRUD, saber como funciona el .net framework, investigar un poco más sobre BBDD, Gestores de BBDD, etc.

Por último leer conceptos de seguridad tanto para aplicaciones en .Net como conceptos en general.

Un saludo!

PD: El post no se va a cerrar, no hay problema en que quieras hacer un software y luego venderlo, si a eso te referías. :)

como te dijera. a medida de que los problemas resulta voy averiguando por toda la internet sobre el tema me instruyo y luego creo la parte código. así e estado aprendiendo, suena como raro pero me a funcionado, no se de todo pero lo poquitico que se creo que lo e aprendido bien. con respeto a la seguridad no lo había visto muy importante ya que como el programa se crea para un empresa especifica y conozco que tanto intentaran usurpar en e programa y se que no seria muchas.

la verdad no e averiguado nada sobre el tema. pero como dije antes lo comenzare a hacer.

los codigos que les e pasado son una pequeña parte de todo lo que ya tengo creado en la aplicación.

Ademas de la seguridad, me referia a la integridad de la aplicacion

En cuanto a lo del usuario...  CurrentThread No tiene nada que ver :P

Código
  1. ((Principal)this.MdiParent).usuarioHabilitado(true);
  2. // ACA ACTUALIZAMOS EL HISTORIAL
  3. seguirUsuario(usuario, DateTime.Now, "Se logueo"); // ES UN EJEMPLO
  4. this.Close();
  5. // .................
  6.        public void seguirUsuario(string usuario, string fecha, string actividad)
  7.        {
  8.            conexion = new SqlConnection(@"Data Source=|DataDirectory|\\Principal.sdf");
  9.  
  10.            conexion.Open();
  11.  
  12.            SqlCommand query = new SqlCommand("Insert into SeguimientoUsuarios(Usuario,Fecha,Actividad) Values('" + usuario + "','"+ fecha + "','" + actividad + "');", conexion);
  13.        }
  14.  

Es un ejemplo :P

sigues sin entenderme.

imaginen que hay dos usuarios logueados , uno se metio en el recibo de la empresas muñequitos y el otro entro a los recibos de la empresa soldados. que codigo utilizaria para identificar cual usuario entro y cada recibo. se que el evento o metodo lo pondria sea en el boton. pero que como sabria el programa cual de los dos usuarios dio click el 1 o el 2.


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: raul338 en 1 Septiembre 2010, 22:08 pm
crifesma, no ves la abstraccion, en usuario podes poner si es uno o dos. Tu problema no es ese, sino que tenes que obtener el dato de que numero es, por lo que veo, estas poniendolo un if (cosa que no entiendo porque lo haces asi)

pero bueno, puedes poner un "if (usuario2 = '')" cargas usuario1 o usuario2, depende, tu tienes que buscarte la solucion :P


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: [D4N93R] en 1 Septiembre 2010, 22:11 pm
Según tu vía entonces, me voy a poner a desarrollar un SO, y voy aprendiendo onthefly?

Pues, puede que funcione, pero te repito que no es la manera, yo soy trainer, es decir, imparto clases de programación, por lo cual se bien la diferencia entre aprender bien la base y luego aventurarse en algo más profundo; a por ejemplo,  lanzarse por un barranco y luego ponerse el paracaídas :)

Un saludo!


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: crifesma en 1 Septiembre 2010, 22:22 pm
crifesma, no ves la abstraccion, en usuario podes poner si es uno o dos. Tu problema no es ese, sino que tenes que obtener el dato de que numero es, por lo que veo, estas poniendolo un if (cosa que no entiendo porque lo haces asi)

pero bueno, puedes poner un "if (usuario2 = '')" cargas usuario1 o usuario2, depende, tu tienes que buscarte la solucion :P

realmente no entiendo. como puse antes le asigno acada usuario un una identificacion en este caso usuario1 o usuario2 con el if.

lo que no se es que cuando quiera guardar el registro de la actividad como saber quien activo el boton el usuario 1 o el usuario2, estoy muerto con eso :P.

Según tu vía entonces, me voy a poner a desarrollar un SO, y voy aprendiendo onthefly?

Pues, puede que funcione, pero te repito que no es la manera, yo soy trainer, es decir, imparto clases de programación, por lo cual se bien la diferencia entre aprender bien la base y luego aventurarse en algo más profundo; a por ejemplo,  lanzarse por un barranco y luego ponerse el paracaídas :)

Un saludo!

quisiera saber para ti cuales son las base de la programacion, para mi es tener la logica y entender como funciona las ordenes y lo que busco de cada una. luego de eso aprender el lenguaje de programacion como tal (c# en este caso) es lo que se puede aprender a medida que vas desarollando la aplicacion.

digo esto porque el ejemplo del barranco es exagerado.

igual que con desarrollar un S.O. diría que es algo exagerado.
esto d apara un debate muy largo y creo que se crearían asperezas entre los dos y eso no es lo que busco yo.

solo busco responder a la pregunta que le formulo a raul338. como saber cual de los usuarios activa o ejecuta un boton.


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: [D4N93R] en 1 Septiembre 2010, 22:32 pm
Pues yo diría que desarrollar una aplicación multiusuario es exagerado también hermano. Lo del barranco fue un ejemplo :P

Las bases que debes de tener para desarrollar una aplicación real deben ser bien sólidas, y lo vas a lograr aprendiendo granularmente.

EL framework te va a ayudar mucho en esto, puedes ir aprendiendo namespace por namespace. System.Data, luego System.Xml y así.

Por ejemplo la conexión que tienes nunca mandas a ejecutar el SqlCommand..
Otra cosa es que si aprendes en el camino, si te das cuenta de que hay casos que puedes re-usar la conexión o usar clases en algún procedimiento vas a reescribir gran parte de la aplicación, y luego vas a tener que enfrentarte a un código spaghetti :)

Te recomiendo este enlace: http://www.csharp-station.com/Tutorials/AdoDotNet/lesson01.aspx

Saludos!


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: raul338 en 1 Septiembre 2010, 22:43 pm
realmente no entiendo. como puse antes le asigno acada usuario un una identificacion en este caso usuario1 o usuario2 con el if.

lo que no se es que cuando quiera guardar el registro de la actividad como saber quien activo el boton el usuario 1 o el usuario2, estoy muerto con eso :P.
..............
quisiera saber para ti cuales son las base de la programacion, para mi es tener la logica y entender como funciona las ordenes y lo que busco de cada una

Ahi te estas contradiciendo con esto! :xD

Mira, dices que tienes que diferenciarlo, bueno, entonces agrega un criterio!!!! Agrega un "if" para saber si es el usuario1 o 2 y si esta conectado a tal lugar o tal otro (no se como sea la logica del programa, por eso soy taan generico, por mas que me des el codigo no leere todo, simplemente te doy la logica, tu te encargas de plasmarla)

Tu como haces para saber si entro usuario1 o usuario2 ? De la misma forma tienes que hacer para guardar el historial :P


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: crifesma en 1 Septiembre 2010, 22:57 pm
realmente no entiendo. como puse antes le asigno acada usuario un una identificacion en este caso usuario1 o usuario2 con el if.

lo que no se es que cuando quiera guardar el registro de la actividad como saber quien activo el boton el usuario 1 o el usuario2, estoy muerto con eso :P.
..............
quisiera saber para ti cuales son las base de la programacion, para mi es tener la logica y entender como funciona las ordenes y lo que busco de cada una

Ahi te estas contradiciendo con esto! :xD

Mira, dices que tienes que diferenciarlo, bueno, entonces agrega un criterio!!!! Agrega un "if" para saber si es el usuario1 o 2 y si esta conectado a tal lugar o tal otro (no se como sea la logica del programa, por eso soy taan generico, por mas que me des el codigo no leere todo, simplemente te doy la logica, tu te encargas de plasmarla)

Tu como haces para saber si entro usuario1 o usuario2 ? De la misma forma tienes que hacer para guardar el historial :P
si eso lo entiendo pero si sera tan facil :p
si fuera así, perdí el tiempo un rato.
ojala y funcione.

gracias


Título: Re: Ayuda guarda histroail de lo que hace un usuario en C#
Publicado por: .mokk. en 1 Septiembre 2010, 23:05 pm
Eso es lo que decia y como dicen los demas porque usas 2?, porque no nomas 1 ?
Entonces al loguearte si es correcto los datos que guarde el usuario en una variable y ya al usar el codigo de "INSERT" ahi pones la variable nose si me explico
Sino aqui te dejo un ejemplo

Código
  1. Dim da as new sqldataadapter
  2. Dim dt as new datatable
  3. dim comando as string
  4. 'Rellenar con tu codigo de conexion
  5. dim conexion as string = ""
  6.  
  7. public sub login
  8. comando = "Select * from Login where Usuario='" + form1.user.text + "' and password='" + form1.contraseña.text + "'"
  9. da = new sqldataadapter(comando,conexion)
  10. da.fill(dt)
  11. form1.datagridview1.datasource = dt
  12.  
  13. if form1.datagridview1.rows.count = 2 then
  14. 'Logueado
  15. form2.show
  16. me.hide
  17. else
  18. msgbox("Error No se a podido loguear revisa los datos")
  19. end if
  20.  
  21. end sub
  22.  
  23. public sub historial(byval log as string, byval fecha as string)
  24. comando = "INSERT INTO Historial (Usuario, Accion, Fecha) VALUES ('" + form1.user.text + "', '" + log + "', '" + fecha + "')"
  25. da = new sqldataadapter(comando,conexion)
  26. da.fill(dt)
  27. da.update(ctype(dt,datatable))
  28. end sub

Y ya solamente lo llamas desde lo necesites y tmb si deceas que si uno esta lgueado y el otro intenta entrar puedes hacer algo asi

Código
  1. Dim da as new sqldataadapter
  2. Dim dt as new datatable
  3. dim comando as string
  4. 'Rellenar con tu codigo de conexion
  5. dim conexion as string = ""
  6.  
  7. public sub login
  8. comando = "Select * from Login where Usuario='" + form1.user.text + "' and password='" + form1.contraseña.text + "'"
  9. da = new sqldataadapter(comando,conexion)
  10. da.fill(dt)
  11. form1.datagridview1.datasource = dt
  12.  
  13. if form1.datagridview1.rows.count = 2 then
  14. 'Logueado
  15. 'datagridview1(0,4) es 0 = la fila que seria la primera y 4 igual a la columna
  16. 'Que pense que eran estas ID, Usuario,Password, Conectado esas son las columnas que pense que podras tener
  17. 'Bueno espero te sirva ^^
  18. if form1.datagridview1(0,4).value.tostring = "1" then
  19. msgbox("Ya hay alguien logueado con esta cuenta")
  20. exit sub
  21. else
  22. loginz()
  23. end if
  24.  
  25. form2.show
  26. me.hide
  27. else
  28. msgbox("Error No se a podido loguear revisa los datos")
  29. end if
  30.  
  31. end sub
  32.  
  33. private sub loginz()
  34. comando = "UPDATE Login set conectado = '1' where usuario ='" + form1.user.text + "'"
  35. da = new sqldataadapter(comando,conexion)
  36. da.fill(dt)
  37. da.update(ctype(dt,datatable))
  38. end sub
  39.  
  40. 'Este lo inicias cuando se este cerrando el programa
  41. private sub desloguear
  42. comando = "UPDATE Login set conectado = '0' where usuario ='" + form1.user.text + "'"
  43. da = new sqldataadapter(comando,conexion)
  44. da.fill(dt)
  45. da.update(ctype(dt,datatable))
  46. end sub


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: crifesma en 1 Septiembre 2010, 23:11 pm
muchas gracias a todo :).

tendré muy encenta todo lo que me dijeron.

moderador en muchas cosas tenes razón en otras no tanto. espero que no me veas como el rebelde :P.

voy a ver que hago.


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: raul338 en 1 Septiembre 2010, 23:11 pm
si eso lo entiendo pero si sera tan facil :p
si fuera así, perdí el tiempo un rato.
ojala y funcione.

Pero si es facil :/ no veo la complicacion :P

mokk te puso una version ligera en vb.net :)


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: [D4N93R] en 1 Septiembre 2010, 23:16 pm
No discuto la razón acá , simplemente te comparto mis experiencias :)

Un saludo y con respecto a:
Código
  1. comando = "Select * from Login where Usuario='" + form1.user.text + "' and password='" + form1.contraseña.text + "'"
Es susceptible a Sql Injection. Yo he visto a usuarios de administración haciendo queries xD se los juro!


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: crifesma en 1 Septiembre 2010, 23:26 pm
d4n93r.

en la parte del codigo que me dijiste falta algo como

query.ExecuteNonQuery();

creo.

y con respecto a lo de algo repetitivo, me imagino que hablas de crear clases y funciones, agregarlas al form con using y invocar cada funcion.

tienes muca razon con lo del sql injection.

gracias por los consejos.


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: [D4N93R] en 1 Septiembre 2010, 23:32 pm
Puedes crearte una clase estática llamada UserManagement o algo así, y otra clase User.. Por ahí va el tiro..

:)


Título: Re: Ayuda - guardar historial de lo que hace un usuario [C#]
Publicado por: .mokk. en 2 Septiembre 2010, 03:51 am
No discuto la razón acá , simplemente te comparto mis experiencias :)

Un saludo y con respecto a:
Código
  1. comando = "Select * from Login where Usuario='" + form1.user.text + "' and password='" + form1.contraseña.text + "'"
Es susceptible a Sql Injection. Yo he visto a usuarios de administración haciendo queries xD se los juro!

Si, pero para que haria algo asi si solo son 2 personas la que lo manejan, aunque si lo decea antes de eso al pulsar el boton puede verificar lo que introdujo y asi hacer un antisql

Yo por ejemplo asi lo uso pero solamente las computadoras que e colocado pueden usar el programa un tipo de HWID que al iniciar antes del login verifica que la PC tenga admision a usar el programa jeje asi tengo usuarios confiables que la puedan usar

Pero nunca esta demas un pequeño codigo para AntiSql jeje