none
Ayúdenme por favor, me sale este error de código, ¿porqué? Es del login que no funciona, es parte de un sistema de matrículas RRS feed

Respuestas

  • persiano132,

    ¿Podrías copiar el error que obtienes e indicar la línea donde se produce la excepción? Con sólo colocar el código y no dar mayor información del problema no nos es posible ayudarte con celeridad, considera que -por lo general- los que apoyamos en el foro también trabajamos y es bueno que cada pregunta venga con la explicación del caso para no tomar demasiado tiempo en tratar de analizar un caso.

    De inicio puedo decirte que no es correcto que trabajar concatenando valores a una consulta sql. Debes de trabajar agregando valores a la colección Parameteres del objeto Command, de igual manera, si sólo esperas un valor debes usar el método ExecuteNonQuery().

    public void Registro()
            {
                SqlConnection conexion = new SqlConnection("Data Source=.;Initial Catalog=bdMatricula;User ID=sa;Password=123");
                conexion.Open();
                SqlCommand consulta = new SqlCommand("select COUNT(*) from Alumno where idUsuario=@idUsuario and contrasena=@Clave",conexion);
                
                consulta.Parameters.AddWithValue("@IdUsuario", txtUsuario.Text);
                consulta.Parameters.AddWithValue("@Clave", txtContrasena.Text);
    
                //executa la consulta
                bool userExists = Convert.ToInt32(consulta.ExecuteScalar()) > 0;
    
                if (userExists)
                {
                    Response.Write("<script>alert('Bienvenido') </script>");
                    this.Hide();//ocultar el login
    
                    Matricula1 abrir = new Matricula1(); //abrir el form de matricula
                    abrir.Show();
                }
                else
                {
                    Response.Write("<script>alert(' Datos incorrectos') </script>");
                    txtcontrasena.Text = "";
                    txtUsuario.Text = "";
                    txtUsuario.Focus();
    
                    conexion.Close();
                }
            }

    viernes, 8 de julio de 2016 22:26
  • Esta parte del código

        SqlCommand consulta = new SqlCommand("select idUsuario,contrasena from Alumno where idUsuario="+txtUsuario.Text +" and contrasena="+txtcontrasena.Text ,conexion);

    Y no va a faltar quien te diga que uses parámetros

     SqlCommand cmd= new SqlCommand("select idUsuario,contrasena from Alumno where idUsuario=@idUsuario and contrasena=@contrasena ,conexion);
    cmd.Parameters.AddWithValue(@idUsuario,txtUsuario.Text);
    cmd.Parameters.AddWithValue(@contrasena,txtcontrasena.Text);
    
    


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala.
    Saludos.
    Lima-Perú

    sábado, 9 de julio de 2016 5:07
  • Como dice Augusto, debes establecer parámetros y la propiedad .Text de tus controles TextBox.

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta persiano132 domingo, 10 de julio de 2016 2:57
    • Desmarcado como respuesta persiano132 domingo, 10 de julio de 2016 2:57
    • Marcado como respuesta persiano132 domingo, 10 de julio de 2016 2:57
    sábado, 9 de julio de 2016 9:27
    Moderador

Todas las respuestas

  • ARCHIVO "Login.aspx.cs":

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace Sistema_MatriculaSISE { public partial class Login : System.Web.UI.Page { public void Registro() { SqlConnection conexion = new SqlConnection("Data Source=.;Initial Catalog=bdMatricula;User ID=sa;Password=123"); conexion.Open(); SqlCommand consulta = new SqlCommand("select idUsuario,contrasena from Alumno where idUsuario='"+txtUsuario+"' and contrasena='"+txtcontrasena+"'",conexion); //executa la consulta SqlDataReader ejecutar = consulta.ExecuteReader(); if (ejecutar.Read() == true) { Response.Write("<script>alert('Bienvenido') </script>"); this.Hide();//ocultar el login Matricula1 abrir = new Matricula1(); //abrir el form de matricula abrir.Show(); } else { Response.Write("<script>alert(' Datos incorrectos') </script>"); txtcontrasena.Text = ""; txtUsuario.Text = ""; txtUsuario.Focus(); conexion.Close(); } } protected void Page_Load(object sender, EventArgs e) { } protected void btnregistrarse_Click(object sender, EventArgs e) { Server.Transfer("frm_RegistrarAlumno.aspx", true); } protected void btnAcceder_Click(object sender, EventArgs e) { Registro(); } private void Hide() { throw new NotImplementedException();

    } } }



    viernes, 8 de julio de 2016 21:26
  • persiano132,

    ¿Podrías copiar el error que obtienes e indicar la línea donde se produce la excepción? Con sólo colocar el código y no dar mayor información del problema no nos es posible ayudarte con celeridad, considera que -por lo general- los que apoyamos en el foro también trabajamos y es bueno que cada pregunta venga con la explicación del caso para no tomar demasiado tiempo en tratar de analizar un caso.

    De inicio puedo decirte que no es correcto que trabajar concatenando valores a una consulta sql. Debes de trabajar agregando valores a la colección Parameteres del objeto Command, de igual manera, si sólo esperas un valor debes usar el método ExecuteNonQuery().

    public void Registro()
            {
                SqlConnection conexion = new SqlConnection("Data Source=.;Initial Catalog=bdMatricula;User ID=sa;Password=123");
                conexion.Open();
                SqlCommand consulta = new SqlCommand("select COUNT(*) from Alumno where idUsuario=@idUsuario and contrasena=@Clave",conexion);
                
                consulta.Parameters.AddWithValue("@IdUsuario", txtUsuario.Text);
                consulta.Parameters.AddWithValue("@Clave", txtContrasena.Text);
    
                //executa la consulta
                bool userExists = Convert.ToInt32(consulta.ExecuteScalar()) > 0;
    
                if (userExists)
                {
                    Response.Write("<script>alert('Bienvenido') </script>");
                    this.Hide();//ocultar el login
    
                    Matricula1 abrir = new Matricula1(); //abrir el form de matricula
                    abrir.Show();
                }
                else
                {
                    Response.Write("<script>alert(' Datos incorrectos') </script>");
                    txtcontrasena.Text = "";
                    txtUsuario.Text = "";
                    txtUsuario.Focus();
    
                    conexion.Close();
                }
            }

    viernes, 8 de julio de 2016 22:26
  • Hola ¿estas desarrollando con asp.net en un entorno web?

    en un entorno web esto no aplica

    
    Matricula1 abrir = new Matricula1(); //abrir el form de //matricula
                    abrir.Show();

    sería algo como

    Response.Redirect("frmMatricula.aspx")


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala.
    Saludos.
    Lima-Perú

    sábado, 9 de julio de 2016 0:57
  • CÓDIGO DEL ARCHIVO "Login.aspx":
    
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Sistema_MatriculaSISE.Login" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>SISE</title>
        <link rel="stylesheet" href="Styles/colorbox.css"/>
    <script src="Scripts/jquery.min.js"></script>
    <script src="Scripts/jquery.colorbox.js"></script>
    <!-- Favicon -->
        <link rel="shortcut icon" type="image/ico" href="Images/sise.ico" />
    
    <script>
    
    </script>
    
    <style>
        #btnregistrarse, #btnAcceder{
            background:#d90f0f;
            color:white;
            padding:3%;
            margin:auto;
        }
    
        .auto-style1 {
            width: 268px;
        }
    </style>
    </head>
    
    <body>
        <form id="form1" method="post" runat="server">
            <br/><br /><br /><br />
    <table style="background-color: White; height: 100%; width: 100%;">
    <tbody>
                    <tr>
       <td>
       <table width="538" border="0" cellpadding="0" cellspacing="0" align="center" background="Images/fondologon.gif">
       <tbody>
                                    <tr>
           <td><img src="Images/logonsup2.gif" alt="logonsup2.gif" width="538" height="50" style="margin-bottom: 0px"/></td>
           </tr>
           <tr>
       <td>
       <table width="538" border="0" cellspacing="10" align="center" cellpadding="0">
       <tbody>
                                                <tr>
       <td style="vertical-align: top">
       <table border="0" cellpadding="0" cellspacing="0">
       <tbody>
                                                            <tr>
           <td><img src="Images/logo-para-intranet.png" alt="logo_sombra.png" width="230" height="80"/></td>
           </tr>
           <tr>
           <td>&nbsp;</td>
           </tr>
           <tr>
           <td><a href="http://campus.sise.edu.pe/" target="_self" style="border: 1px none blue; padding: 1px 1px 1px 1px; font-weight: bold;">Ingreso del Personal Administrativo</a></td>
           </tr>
           <tr>
           <td>&nbsp;</td>
           </tr>
           <tr>
           <td><a href="http://intranet.sise.edu.pe/intranet/descargarDocumento_ManualesCompletos.asp?id=2" target="_blank" style="border: 1px none blue; padding: 1px 1px 1px 1px; font-size: small;">Descargue aqui el "Manual del Alumno</a>"</td>
           </tr>
           <tr>
           <td>&nbsp;</td>
           </tr>
           <tr>
           <td><a href="http://intranet.sise.edu.pe/intranet/descargarDocumento_ManualesCompletos.asp?id=3" target="_blank" style="border: 1px none blue; padding: 1px 1px 1px 1px; font-size: small;">Descargue aqui la "Guía rápida de las herramientas TIC</a>"</td>
           </tr>
           </tbody>
       </table>
       </td>
       <td class="auto-style1">
       <table width="240" border="0" align="center" cellpadding="0" cellspacing="0">
       <tbody>
                                                            <tr>
                                                                <td>
       <table width="100%" align="center" cellpadding="0"  border="0" cellspacing="6">
       <tbody>
                                                                        <tr>
           <td>&nbsp;</td>
           <td colspan="2">
           &nbsp;<input type="hidden" runat="server" name="vDescLocal" id="vDescLocal" value="SISE - SANTA BEATRIZ" /></td>
    
           </tr>
           <tr>
           <td>Usuario</td>
           <td><asp:TextBox id="txtUsuario" runat="server" name="vUsuario" maxlength="20" value="2201610374" style="width: 100%"></asp:TextBox></td>
           </tr>
           <tr>
           <td>Contraseña</td>
           <td><asp:TextBox id="txtcontrasena" runat="server" TextMode="Password" onkeypress="entertag(event)" style="width: 100%" ></asp:TextBox></td>
           </tr>
           <tr>
           <td>&nbsp;</td>
           <td style="font-size: xx-small">¿Olvidó su contraseña?
               <div style="text-align:center;">
               <a href="http://intranet.sise.edu.pe/intranet/olvidocontrasena.asp?Vtusu=D">Docente</a>&nbsp;-&nbsp;<a href="http://intranet.sise.edu.pe/intranet/olvidocontrasena.asp?Vtusu=A">Alumno</a>
               </div>
           </td>
           </tr>
           <tr>
           <td>&nbsp;</td>
           <td style="font-size: xx-small"><asp:CheckBox ID="chkrecordarusuario" runat="server"  value="1"  checked="true" text="Recordar mi usuario" /></td>
           </tr>
           <tr>
           <td><asp:Button id="btnAcceder" runat="server" Text="Acceder" OnClick="btnAcceder_Click"/></td>
           <td><a href="javascript: document.frmLogin.submit();" target="_top"></a>
    
                                                                                <asp:Button id="btnregistrarse" runat="server" Text="Registrate" OnClick="btnregistrarse_Click"/>
           </td>
           </tr> 
                                                                    </tr>
       </tbody>
    </table>
    </td>
    </tr>
    </tbody></table>
    </td>
    </tr>
    </tbody></table>
    </td>
    </tr>
    <tr>
    <td style="text-align:center;">
    <img src="Images/logoninf.gif" alt="logoninf.gif" width="538" height="50"/>
    </td>
    </tr>
    </tbody>
           </table>
    <br/>
    <table style="text-align: center;">
       <tbody>
                            <tr>
       <td style="text-align: center;">
       &nbsp;</td>
                                <td>&nbsp;</td>
    </tr>
    </tbody>
    </table>
    </td>
    </tr>
    </tbody></table>
    </form>
    
    
    <script type="text/javascript">
        seleccion();
    </script>
    
    <div id="cboxOverlay" style="opacity: 0; cursor: pointer; visibility: visible; display: none;"></div>
    <div id="colorbox" class="" role="dialog" tabindex="-1" style="display: none; visibility: visible; top: 15px; left: 270px; ; width: 540px; height: 450px; opacity: 0;">
        <div id="cboxWrapper" style="height: 450px; width: 540px;">
            <div>
                <div id="cboxTopLeft" style="float: left;">
                </div>
                <div id="cboxTopCenter" style="float: left; width: 498px;">
                </div>
                <div id="cboxTopRight" style="float: left;">
                </div>
            </div>
            <div style="clear: left;">
                <div id="cboxMiddleLeft" style="float: left; height: 408px;">
                </div>
                <div id="cboxContent" style="float: left; width: 498px; height: 408px;">
                    <div id="cboxTitle" style="float: left; display: none;">
                    </div>
                    <div id="cboxCurrent" style="float: left; display: none;">
                    </div>
                    <button type="button" id="cboxPrevious" style="display: none;"></button>
                    <button type="button" id="cboxNext" style="display: none;"></button>
                    <button type="button" id="cboxSlideshow" style="display: none;"></button>
                    <div id="cboxLoadingOverlay" style="float: left;"></div>
                    <div id="cboxLoadingGraphic" style="float: left;"></div>
                    <button type="button" id="cboxClose">cerrar</button>
                </div>
                <div id="cboxMiddleRight" style="float: left; height: 408px;"></div>
    
            </div>
            <div style="clear: left;">
                <div id="cboxBottomLeft" style="float: left;"></div>
                <div id="cboxBottomCenter" style="float: left; width: 498px;"></div>
                <div id="cboxBottomRight" style="float: left;"></div>
            </div>
        </div>
        <div style="; width: 9999px; visibility: hidden; display: none; max-width: none;">
        </div>
    </div>
    
    </body></html>
    


    sábado, 9 de julio de 2016 4:16
  • create table Alumno (idUsuario int identity(100000000,1)primary key,

    nombre varchar(25)not null,

    apellidoPaterno varchar(25)not null,

    apellidoMaterno varchar(25)not null,

    tipoDoc varchar(25)null,

    documento char(25)not null,

    correo varchar(25)not null,

    confCorreo varchar(25)not null,

    telefono varchar(12),

    celular varchar(12),

    contrasena varchar(25)not null,

    confContrasena varchar(25)not null); -------poc insertar alumno--------- create procedure sp_insertarAlumno @nombre varchar(25), @apellidoPaterno varchar(25), @apellidoMaterno varchar(25), @tipoDoc varchar(25), @documento varchar(25), @correo varchar(25), @confCorreo varchar(25), @telefono varchar(12), @celular varchar(12), @contrasena varchar(25), @confContrasena varchar(25) as insert into Alumno values(@nombre,@apellidoPaterno,@apellidoMaterno,@tipoDoc,@documento,@correo,@confCorreo,@telefono,@celular,@contrasena,@confContrasena) ----- execute sp_insertarAlumno 'Ana','Perez','Rojas','DNI','78987878','jjhjhhh','jjhjh','909098988','989876767','1234','1234';


    ESTA ES LA BASE DE DATOS
    sábado, 9 de julio de 2016 4:21
  • CÓDIGO DEL ARCHIVO "Login.aspx.cs":

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;


    namespace Sistema_MatriculaSISE
    {
        public partial class Login : System.Web.UI.Page
        {
            public void Registro()
            {
                SqlConnection conexion = new SqlConnection("Data Source=.;Initial Catalog=bdMatricula;User ID=sa;Password=123");
                conexion.Open();
                SqlCommand consulta = new SqlCommand("select idUsuario,contrasena from Alumno where idUsuario='"+txtUsuario+"' and contrasena='"+txtcontrasena+"'",conexion);
                //executa la consulta
                SqlDataReader ejecutar = consulta.ExecuteReader();

                if (ejecutar.Read() == true)
                {
                    Response.Write("<script>alert('Bienvenido') </script>");
                    this.Hide();//ocultar el login

                    Matricula1 abrir = new Matricula1(); //abrir el form de matricula
                    abrir.Show();
                }
                else
                {
                    Response.Write("<script>alert(' Datos incorrectos') </script>");
                    txtcontrasena.Text = "";
                    txtUsuario.Text = "";
                    txtUsuario.Focus();

                    conexion.Close();
                }
            }


            protected void Page_Load(object sender, EventArgs e)
            {

            }

            protected void btnregistrarse_Click(object sender, EventArgs e)
            {
                Server.Transfer("frm_RegistrarAlumno.aspx", true);
            }

            protected void btnAcceder_Click(object sender, EventArgs e)
            {
                //int numero=0;

                //DataView dvSql = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);?

                //if (dvSql.Count > 0)
                //{
                //    numero = 1;
                //}
                //if (numero == 1)
                //{
                //    Session("idUsuario") = dvSql(0).Item(0);
                //    Response.Redirect("Matricula1.aspx");

                //}


                Registro();
               
                }

            //private object Session(string p)
            //{
            //    throw new NotImplementedException();
            //}

            private void Hide()
            {
                throw new NotImplementedException();
            }
        
            }
           
        }

    sábado, 9 de julio de 2016 4:25
  • No te preocupes, Willliams, es que no les pude pasar completo todos los errores porque se estaba colgando la página web y no podía hacer los envios, no cargaba nada de la pagina de Microsoft, puxa, nada cargaba cuando estaba enviando todo, la máquina o el Google Chrome se me ha colgado... Que cóleraaaa


    sábado, 9 de julio de 2016 4:31
  • He vuelto ahorita a hacer la misma pregunta pero en forma más detallada, para mejor entendimiento
    sábado, 9 de julio de 2016 4:32
  • Esta parte del código

        SqlCommand consulta = new SqlCommand("select idUsuario,contrasena from Alumno where idUsuario="+txtUsuario.Text +" and contrasena="+txtcontrasena.Text ,conexion);

    Y no va a faltar quien te diga que uses parámetros

     SqlCommand cmd= new SqlCommand("select idUsuario,contrasena from Alumno where idUsuario=@idUsuario and contrasena=@contrasena ,conexion);
    cmd.Parameters.AddWithValue(@idUsuario,txtUsuario.Text);
    cmd.Parameters.AddWithValue(@contrasena,txtcontrasena.Text);
    
    


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala.
    Saludos.
    Lima-Perú

    sábado, 9 de julio de 2016 5:07
  • Como dice Augusto, debes establecer parámetros y la propiedad .Text de tus controles TextBox.

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta persiano132 domingo, 10 de julio de 2016 2:57
    • Desmarcado como respuesta persiano132 domingo, 10 de julio de 2016 2:57
    • Marcado como respuesta persiano132 domingo, 10 de julio de 2016 2:57
    sábado, 9 de julio de 2016 9:27
    Moderador