Principales respuestas
como crear un procedimiento almacenado

Pregunta
-
Respuestas
-
Hola,
Pero mediante SQL no vas a poder restringir el acceso al sistema.
Tienes que tener un campo de un tabla donde guardes el último acceso del usuario a la aplicación y mediante código, si estás usando C#, Vb.net u otro validar si la fecha que está guardada corresponde a la fecha actual, y si es así no permitir el inicio de sesión.
Saludos.
JC NaupaCrispín
Lima - Perú
La magia no existe, la programación SI- Propuesto como respuesta José De Alva lunes, 9 de mayo de 2016 4:01
- Marcado como respuesta José De Alva martes, 17 de mayo de 2016 22:47
-
@yoyasota
Para poder controlar el acceso de usuario para que no ingrese dos veces al sistema debes poner un campo Acceso en tu tabla Usuarios en el cual puede ser de tipo char donde puedes poner cuando logueo una S y cuando sale del sistema una N y validar mediante código algo como esto.
Private Sub cmdAceptar_Click() Dim objUsuario As New ClsUsuario mstrUsuarioId = txtUsuario.Text mstrIdFacultad = dtcFacultad.BoundText Op = objUsuario.VerificarUsuario(txtUsuario.Text, txtClave.Text) If Op = -1 Then MsgBox "Usuario no autorizado a entrar en el sistema, por favor comuniquese con el Administrador del Sistema", vbInformation, App.title txtUsuario.Text = "" txtClave.Text = "" txtUsuario.SetFocus ElseIf Op = 0 Then MsgBox "Password incorrecto, por favor reintente", vbInformation, App.title txtClave.Text = "" txtClave.SetFocus ElseIf Op = 2 Then MsgBox "Este usuario ya se encuentra logeado en el sistema", vbInformation, App.title txtUsuario.Text = "" txtClave.Text = "" txtUsuario.SetFocus Else 'acceso al sistema 'UpdEstadoAcceso mstrUsuarioId, "S"
Pedro Ávila
"El hombre sabio querrá estar siempre con quien sea mejor que él."
Lima - Perú- Editado Pedro Ávila viernes, 6 de mayo de 2016 21:25 .....
- Propuesto como respuesta José De Alva lunes, 9 de mayo de 2016 4:01
- Marcado como respuesta José De Alva martes, 17 de mayo de 2016 22:47
-
Hola,
Supongo que lo que intentas es que un usuario no vote dos veces en la misma encuesta independientemente de si puede acceder o no al sistema donde se gestionan las encuestas (por ejemplo para que pueda ver como se desarrolla la votación una vez ya ha votado).
Vamos a suponer un escenario en donde los usuarios se identifican mediante un sistema propio en el que hay una tabla de usuarios registrados con sus datos y un identificador unívoco.
Básicamente el procedimiento quedaría así:
CREATE PROCEDURE votaEncuesta @id_Usuario nchar(10), @voto nchar(2) AS DECLARE @repeticion int SET @repeticion = 0 IF NOT EXISTS(SELECT id_Usuario FROM tablaEncuesta WHERE id_Usuario = @id_Usuario) BEGIN INSERT INTO tablaEncuesta(id_Usuario, voto) VALUES (@id_Usuario, @voto) END ELSE BEGIN SET @repeticion = 1 END RETURN @repeticion GO
La variable repetición la he incluido para que se pueda gestionar la respuesta del procedimiento, pero no es estrictamente necesaria, simplemente el procedimiento no inserta el voto de un usuario que ya ha votado.
Espero que te sirva.
- Editado Justo Pla (Tala'ssa) sábado, 7 de mayo de 2016 16:35 Ortografía y aclaracion de matices
- Propuesto como respuesta José De Alva lunes, 9 de mayo de 2016 4:01
- Marcado como respuesta José De Alva martes, 17 de mayo de 2016 22:47
Todas las respuestas
-
Hola,
Pero mediante SQL no vas a poder restringir el acceso al sistema.
Tienes que tener un campo de un tabla donde guardes el último acceso del usuario a la aplicación y mediante código, si estás usando C#, Vb.net u otro validar si la fecha que está guardada corresponde a la fecha actual, y si es así no permitir el inicio de sesión.
Saludos.
JC NaupaCrispín
Lima - Perú
La magia no existe, la programación SI- Propuesto como respuesta José De Alva lunes, 9 de mayo de 2016 4:01
- Marcado como respuesta José De Alva martes, 17 de mayo de 2016 22:47
-
@yoyasota
Para poder controlar el acceso de usuario para que no ingrese dos veces al sistema debes poner un campo Acceso en tu tabla Usuarios en el cual puede ser de tipo char donde puedes poner cuando logueo una S y cuando sale del sistema una N y validar mediante código algo como esto.
Private Sub cmdAceptar_Click() Dim objUsuario As New ClsUsuario mstrUsuarioId = txtUsuario.Text mstrIdFacultad = dtcFacultad.BoundText Op = objUsuario.VerificarUsuario(txtUsuario.Text, txtClave.Text) If Op = -1 Then MsgBox "Usuario no autorizado a entrar en el sistema, por favor comuniquese con el Administrador del Sistema", vbInformation, App.title txtUsuario.Text = "" txtClave.Text = "" txtUsuario.SetFocus ElseIf Op = 0 Then MsgBox "Password incorrecto, por favor reintente", vbInformation, App.title txtClave.Text = "" txtClave.SetFocus ElseIf Op = 2 Then MsgBox "Este usuario ya se encuentra logeado en el sistema", vbInformation, App.title txtUsuario.Text = "" txtClave.Text = "" txtUsuario.SetFocus Else 'acceso al sistema 'UpdEstadoAcceso mstrUsuarioId, "S"
Pedro Ávila
"El hombre sabio querrá estar siempre con quien sea mejor que él."
Lima - Perú- Editado Pedro Ávila viernes, 6 de mayo de 2016 21:25 .....
- Propuesto como respuesta José De Alva lunes, 9 de mayo de 2016 4:01
- Marcado como respuesta José De Alva martes, 17 de mayo de 2016 22:47
-
Hola,
Supongo que lo que intentas es que un usuario no vote dos veces en la misma encuesta independientemente de si puede acceder o no al sistema donde se gestionan las encuestas (por ejemplo para que pueda ver como se desarrolla la votación una vez ya ha votado).
Vamos a suponer un escenario en donde los usuarios se identifican mediante un sistema propio en el que hay una tabla de usuarios registrados con sus datos y un identificador unívoco.
Básicamente el procedimiento quedaría así:
CREATE PROCEDURE votaEncuesta @id_Usuario nchar(10), @voto nchar(2) AS DECLARE @repeticion int SET @repeticion = 0 IF NOT EXISTS(SELECT id_Usuario FROM tablaEncuesta WHERE id_Usuario = @id_Usuario) BEGIN INSERT INTO tablaEncuesta(id_Usuario, voto) VALUES (@id_Usuario, @voto) END ELSE BEGIN SET @repeticion = 1 END RETURN @repeticion GO
La variable repetición la he incluido para que se pueda gestionar la respuesta del procedimiento, pero no es estrictamente necesaria, simplemente el procedimiento no inserta el voto de un usuario que ya ha votado.
Espero que te sirva.
- Editado Justo Pla (Tala'ssa) sábado, 7 de mayo de 2016 16:35 Ortografía y aclaracion de matices
- Propuesto como respuesta José De Alva lunes, 9 de mayo de 2016 4:01
- Marcado como respuesta José De Alva martes, 17 de mayo de 2016 22:47