asp.net 2 + visual studio 2005 programando web form application modo VISUAl basic base de datos sql server 2000
todo en forma local, quiero decir no es necesaria la seguridad extra
bien creo un stored procedure en sql como se muestra a continuacion
Código:
bueno en los return les tenia puesto que me devolvieran 1 o 0 segun sea el caso, pero ahora quiero que me devuelvan el nombre_del_usuario, que es diferente al usuarioCREATE procedure login @user char(10),@clave char(10) As if exists(select * from Usuarios where Usuario=@user and Clave=@clave) return else RETURN 'error' GO
mi tabla luciria de la siguiente forma
Código:
Para llamar al storedP y ejecutar accion segun convenga es de la siguiente formausuario contraseña nombre pepito p3pi sr. pepe
Código:
lo que e hecho.Public Class login .... #Region " Código generado por el Diseñador de Web Forms " ... End Sub Protected WithEvents lblm As System.Web.UI.WebControls.Label Protected WithEvents RequiredFieldValidator2 As System.Web.UI.WebControls.RequiredFieldValidator Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox Protected WithEvents Label2 As System.Web.UI.WebControls.Label Protected WithEvents RequiredFieldValidator1 As System.Web.UI.WebControls.RequiredFieldValidator Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox Protected WithEvents Label1 As System.Web.UI.WebControls.Label Protected WithEvents cmdAceptar As System.Web.UI.WebControls.Button ... #End Region 'Procedimiento para loguearse Private Sub cmdAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAceptar.Click cmd = New SqlCommand("login", con) cmd.CommandType = CommandType.StoredProcedure Dim prmDato As SqlParameter Dim Resultado As String prmDato = cmd.Parameters.Add("RETURN_VALUE", SqlDbType.Char) prmDato.Direction = ParameterDirection.ReturnValue cmd.Parameters.Add("@user", TextBox1.Text) cmd.Parameters.Add("@clave", TextBox2.Text) 'Abrir la conexion con.Open() cmd.ExecuteNonQuery() 'Recoger el resultado Resultado = cmd.Parameters("RETURN_VALUE").Value.ToString 'Cerrar la conexion con.Close() este usaba antes con condiciones de 1 o 0 'If Resultado = 1 Then 'FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, False) 'Response.Redirect("defoult.aspx") 'Else 'lblm.Text = Resultado 'End If End Sub
para empezar cambiar la seleccion a un campo en especifico
quedaria asi
if exists(select nombre from Usuarios where Usuario=@user and Clave=@clave
esto me devolveria sr.pepe
pero la pagina me devuelve el error de que no puede convertir int a vchar le he movido y me muestra 0 cuando intento loggearme
hmm como veran no soy muy experto y tal ves la solucion sea muy simple.
pues ese codigo es que tomo apuntes en clase y leo en internet.
gracias y saludos desde mexico