Manejo de usuarios en VB6 con SQL server 2005

Estoy desarrollando una aplicación con sql server 2005 y VB6 y necesito hacer auditorias, es decir, saber a que hora se conecto un usuario, saber que usuario me hizo la edición o inserción de nu nuevo registro en la BD, etc... Es algo muy similar a lo que se hace en las aplicaciones web con las sesiones donde se almacenan los principales datos de los usuarios. Estaba pensando en pasar entre mis forms al menos el parámetro del nombre del usuario, pero creo que esto no es muy eficiente. Por favor si me puedes regalar una idea de como hacerlo con la ayuda de la BD, como por ejemplo crear usuarios de BD por cada usuario de la aplicación, ...

1 Respuesta

Respuesta
1
No me explicas si el sistema de eusuarios tienes una tabla de usuarios, o si piensas utilizar usuarios de SQL para el manejo.
Si tienes centralizado en una clase los accesos a ala vas de datos, en esa clase verifica si la sentencia SQL es un INSERT, UPDATE, DELETE y la grbas en una tabla de auditoria con los parámetros que necesites para ello.
Podrias tambien crear triggers en la base de datos pero no se si sea lo que necesitas.
Hola que tal experto, gracias por la agilidad en tu respuesta.
Mira aún no he creado una tabla usuarios, porque ese el problema en el que ando. No sé si crear una tabla usuarios con atributos nomuser y contrauser o crear usuarios de la BD para validar contra esta. Entonces quisiera que me recomendarás cual opción es las elegante y eficiente y como hacerlo si la opción es con la BD.
También quisiera que por favor me aclararas como se 'centraliza' la conexión en una clase para una aplicación en VB6 por favor.
Los de los Triggers ya lo había pensado, pero pues creo que será después de que solucione lo anterior.
Entonces crea un tabla de usuarios en la base de datos y los manejas por allí.
EN una clase creas el objeto connection a la base de datos y los métodos de INsertar, Actualizar, eliminar, y Select, estos métodos reciben como parámetros las sentencias SQL que van a ejecutar y los ejecutan y devuelven los valores de acuerdo a lo que haga cada sentencia.
En tus formularios instancias esta clase y simplemente le pasas los parámetros del método que necesites utilizar.
Hola experto!
De nuevo una aclaración, como puedo yo saber en cualquier momento de la ejecución de mi programa, usando la solución que me mencionas anteriormente; ¿Qué usuario esta ejecutando cualquier acción o cual disparo algún evento determinado?
yo sé que en un formulario debo recoger el nombre de usuario y contraseña y ejecutar un query como: select * from usuario where nombreusuario = '"& nomuser.text &"' and contrasenausuario = '"contrauser.text"' y si el query me devuelve algún registro, le daré paso a mi usuario y le enseñare la ventana principal de mi aplicación; pero no sé como obtener el nombre de usuario y el perfil cuando por ejemplo un usuario me dispara un evento que me genera la facturación de un mes x.
No sé si me hago entender bien, cualquier cosa la puedo aclarar mejor.
Saludos experto y de nuevo mil gracias por tu ayuda y colaboración!
Crea una variable Publica en un modulo, en esa variable publica después de validar el usuario guaradas el usuario en esa variable y ya la tienes disponible en cuaqueir parte de tu aplicación.
Para definri al variable utilizas Public variable as string, por ejemplo. Y así para todas las variables que necesites.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas