Autor
|
Tema: Ayuda - guardar historial de lo que hace un usuario [C#] (Leído 18,800 veces)
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
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 . .............. 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! 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
|
|
|
En línea
|
|
|
|
crifesma
Desconectado
Mensajes: 35
|
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 . .............. 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! 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 si eso lo entiendo pero si sera tan facil :p si fuera así, perdí el tiempo un rato. ojala y funcione. gracias
|
|
« Última modificación: 1 Septiembre 2010, 23:06 pm por crifesma »
|
En línea
|
|
|
|
.mokk.
Desconectado
Mensajes: 177
|
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 Dim da as new sqldataadapter Dim dt as new datatable dim comando as string 'Rellenar con tu codigo de conexion dim conexion as string = "" public sub login comando = "Select * from Login where Usuario='" + form1.user.text + "' and password='" + form1.contraseña.text + "'" da = new sqldataadapter(comando,conexion) da.fill(dt) form1.datagridview1.datasource = dt if form1.datagridview1.rows.count = 2 then 'Logueado form2.show me.hide else msgbox("Error No se a podido loguear revisa los datos") end if end sub public sub historial(byval log as string, byval fecha as string) comando = "INSERT INTO Historial (Usuario, Accion, Fecha) VALUES ('" + form1.user.text + "', '" + log + "', '" + fecha + "')" da = new sqldataadapter(comando,conexion) da.fill(dt) da.update(ctype(dt,datatable)) 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 Dim da as new sqldataadapter Dim dt as new datatable dim comando as string 'Rellenar con tu codigo de conexion dim conexion as string = "" public sub login comando = "Select * from Login where Usuario='" + form1.user.text + "' and password='" + form1.contraseña.text + "'" da = new sqldataadapter(comando,conexion) da.fill(dt) form1.datagridview1.datasource = dt if form1.datagridview1.rows.count = 2 then 'Logueado 'datagridview1(0,4) es 0 = la fila que seria la primera y 4 igual a la columna 'Que pense que eran estas ID, Usuario,Password, Conectado esas son las columnas que pense que podras tener 'Bueno espero te sirva ^^ if form1.datagridview1(0,4).value.tostring = "1" then msgbox("Ya hay alguien logueado con esta cuenta") exit sub else loginz() end if form2.show me.hide else msgbox("Error No se a podido loguear revisa los datos") end if end sub private sub loginz() comando = "UPDATE Login set conectado = '1' where usuario ='" + form1.user.text + "'" da = new sqldataadapter(comando,conexion) da.fill(dt) da.update(ctype(dt,datatable)) end sub 'Este lo inicias cuando se este cerrando el programa private sub desloguear comando = "UPDATE Login set conectado = '0' where usuario ='" + form1.user.text + "'" da = new sqldataadapter(comando,conexion) da.fill(dt) da.update(ctype(dt,datatable)) end sub
|
|
« Última modificación: 1 Septiembre 2010, 23:18 pm por .mokk. »
|
En línea
|
|
|
|
crifesma
Desconectado
Mensajes: 35
|
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 . voy a ver que hago.
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
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 mokk te puso una version ligera en vb.net
|
|
|
En línea
|
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.646
My software never has bugs. Its just features!
|
No discuto la razón acá , simplemente te comparto mis experiencias Un saludo y con respecto a: 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!
|
|
|
En línea
|
|
|
|
crifesma
Desconectado
Mensajes: 35
|
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.
|
|
|
En línea
|
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.646
My software never has bugs. Its just features!
|
Puedes crearte una clase estática llamada UserManagement o algo así, y otra clase User.. Por ahí va el tiro..
|
|
|
En línea
|
|
|
|
.mokk.
Desconectado
Mensajes: 177
|
No discuto la razón acá , simplemente te comparto mis experiencias Un saludo y con respecto a: 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
|
|
|
En línea
|
|
|
|
|
|