Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

AYUDA! login con asp.net y sql server 2005

moyulloag

Bovino maduro
Desde
27 Ago 2010
Mensajes
102
hola! quisiera pedir su ayuda tengo el suiguiente codigo, con el cual pido nombre y contraseña lo cual consulto en una base de datos sql server 2005 y si esta el usuario lo dirige al index.aspx si no esta, marca error, entonces es lo que no me sale, como saber si la consulta fue exitosa o no y como seria el log out,
AYUDA PARA ENTRAR Y SALIR DEL SISTEMA
CODIGO:
<%@ Page language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server">
void Alta(Object sender, EventArgs args){
SqlConnection conexion = new SqlConnection("server=(local);database=d…
String sentencia="select * from dbo.usuario where usuario = @usuario AND password = @password";
SqlCommand comando=new SqlCommand (sentencia,conexion);
int resultado;
try{
conexion.Open();
comando.Parameters.Add(new SqlParameter("@usuario",SqlDbType.NVarCh… 10));
comando.Parameters["@usuario"].Value = usuario.Text;

comando.Parameters.Add(new SqlParameter("@password",SqlDbType.NVarC… 20));
comando.Parameters["@password"].Value = password.Text;


resultado=comando.ExecuteNonQuery();
if (resultado == 1)

Response.Redirect("/data/priv/index2.asp…

Response.Write("Se iniciado " + resultado + " sesion " + " <a href=MostEmp.aspx>Ver Usuarios</a>");
Response.Write("<br><br>");



conexion.Close();

}

catch(SqlException e){

Response.Write("se ha producido una excepción: "+e);
}
}
</script>
<html>
<head><title>Inisiar Sesion</title></head>
<body>
<div id="cabecera">
<img src="img/data.jpg">
</div>
<br>
<h1><center> Iniciar Sesion </center></h1>
<form runat="server" id="formulario">
<asp:Label Runat="server" ID="TextoUsuario" text="usuario"/>
<asp:TextBox Runat="server" ID="usuario"/><br/>

<asp:Label Runat="server" ID="Textpassword" text="password"/>
<asp:TextBox Runat="server" ID="password"/><br/>

<br/>
<asp:Button OnClick="Alta" Runat="server" ID="boton" Text="Entrar"/>
</form>
</body>
</html>
 
compa yo ya estube en esas mismas hace tiempo: este es el codigo asp qe tengo y si funciona.
solo fijate qe la connection string se la correcta para tu sql server... ya que mi codigo asp lo tengo enlazado para mysql. hazle las modificaciones adecuadas. cualqier cosa me avisas.


<%
dim conn
dim conn_string
nom = Request.form("user")
passw = Request.form("pass")
conn_string = "Driver={MySQL ODBC 3.51 Driver};Server=127.0.0.1;Port=3306;Database=bdejemplo1;Pwd=soyunangel;Uid=root"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open(conn_string)
strQuery = "select * from horario where usuario='"&nom&"' and contra='"&passw&"'"
Set RS = conn.Execute(strQuery)

bandera=0
if rs.eof=true then
bandera=1
end if
if bandera=0 then
response.write("Usuario correcto")
response.Redirect "bandeja.asp"
else
response.write("No te conozco")
end if

%>
 
compa yo ya estube en esas mismas hace tiempo: este es el codigo asp qe tengo y si funciona.
solo fijate qe la connection string se la correcta para tu sql server... ya que mi codigo asp lo tengo enlazado para mysql. hazle las modificaciones adecuadas. cualqier cosa me avisas.


<%
dim conn
dim conn_string
nom = Request.form("user")
passw = Request.form("pass")
conn_string = "Driver={MySQL ODBC 3.51 Driver};Server=127.0.0.1;Port=3306;Database=bdejemplo1;Pwd=soyunangel;Uid=root"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open(conn_string)
strQuery = "select * from horario where usuario='"&nom&"' and contra='"&passw&"'"
Set RS = conn.Execute(strQuery)

bandera=0
if rs.eof=true then
bandera=1
end if
if bandera=0 then
response.write("Usuario correcto")
response.Redirect "bandeja.asp"
else
response.write("No te conozco")
end if

%>


Esto es ASP no ASP.NET, ´si sólo van a copiar y pegar ejemplos de internet sin saber, mejor no lo hagan, sólo pierden al chavo.
 
Hola, en primera, la ejecución que haces (ExecuteNonQuery) generalmente se usa para instrucciones de UPDATE, INSERT, DELETE y no para SELECT.

Ahora para validar es: ExecuteReader, este te devolverá un SqlDataReader el cual puedes ejecutar con:

SqlDataReader reader = cmd.ExecuteReader();
string username = string.Empty;
string password = string.Empty;
if(reader.Read())
{
int usernameIndex = reader.GetOrdinal("NombreColumnaUsername");
if(!reader.IsDbNull(usernameIndex))
username = reader.GetString(usernameIndex);

int passwordIndex = reader.GetOrdinal("NombreColumnaPassword");
if(!reader.IsDbNull(passwordIndex))
password = reader.GetString(passwordIndex);
}
if(password == txtPassword.Text.Trim() && username == txtUsername.Text.Trim())
Response.Write("Usuario correcto");
else
throw new Exception("Usuario inválido");
 
Ahora, si fueras un poco más PRO, te sugiero que uses mejor el Membership Provider.
 
Volver
Arriba