asp.net-[ASP.NET]菜鸡求指导,我这个登录验证就是通不过注册信息倒是能写入数据库

问题描述

[ASP.NET]菜鸡求指导,我这个登录验证就是通不过注册信息倒是能写入数据库

这是我的部分代码片段

//登录按钮触发的事件函数
 protected void button1_Click(object sender, EventArgs e)
        {
            if(LoginData.fucLogin(UserName.Text, PassWord.Text))
            {
                Response.Redirect("WebForm1.aspx");
            }
            else
            {
                label3.Text = "用户名或密码错误,请重新输入";
            }
        }
//这是校验登录密码函数写到类里面去了
 public static bool fucLogin(string username, string password)
    {
        bool success = false;
        SqlConnection myConnection = new SqlConnection(conStr);
        myConnection.Open();
        SqlCommand objCmd = new SqlCommand("select * from userinfo where UserName='" + username + "'",myConnection);
        try
        {
            SqlDataReader myReader = objCmd.ExecuteReader();
            if (myReader.Read())
            {

                if (myReader["PassWord"].ToString() == password)
                {
                    success = true;
                }
            }
        }
        catch (SqlException ex)
        {
            success = false;
        }
        finally
        {
            if (myConnection.State == ConnectionState.Open)
            {
                myConnection.Close();
            }
        }
        return success;
    }

这是数据库里面的数据

我能够成功注册用户然后把数据写入数据库,但是用新注册的用户名和密码就是登录不进去。
如果把if判断语句注释掉变成这样

 try
        {
            SqlDataReader myReader = objCmd.ExecuteReader();
            if (myReader.Read())
            {

                //if (myReader["PassWord"].ToString() == password)
                //{
                    success = true;
                //}
            }
        }

就能输入用户名pan 密码随便输入都能登录进去,我觉得那个if语句有问题但是又看不出哪里出错了。。。小菜鸡刚开始学asp.net之前没接触过c#和数据库。。。还请各位指点指点

解决方案

目测你的pan后面有很多空格

解决方案二:

应该和caozhy说的一样,数据库的值包含空格了,或者字段类型是char的,不足长度自动补充空格导致无法匹配

解决方案三:

username字段设置为nvarchar类型的

解决方案四:

一般得到值后,,先trim一下,,去掉前后空格,,在插入到数据库

解决方案五:

1,能不能插入数据到表,不能得话你先学如何插入,查询,更新,删除
2,如果有——》就用查询的数据和输入的用户名,密码做比对==正确登入、、错误的话打印出错信息

时间: 2024-10-20 21:56:22

asp.net-[ASP.NET]菜鸡求指导,我这个登录验证就是通不过注册信息倒是能写入数据库的相关文章

javascript-[ASP.NET]菜鸡求指导,一个留言板的回复功能

问题描述 [ASP.NET]菜鸡求指导,一个留言板的回复功能 我是一个初学者,近日写了一个留言板,但在回复这个功能上一直没有实现留言的内容是用repeater控件显示的我把回复的这个a标签也写进了控件里面下面贴上自己的部分源码 <asp:Repeater ID=""rep"" runat=""server"" OnItemCommand=""rep_ItemCommand"" &g

jquery 菜单移动-这是一个菜单移动的操作,但是顺序a向上移动有错误,求指导,请问怎么控制不超出父节点

问题描述 这是一个菜单移动的操作,但是顺序a向上移动有错误,求指导,请问怎么控制不超出父节点 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 无标题文档 #wrap{margin:20px auto;width: 500px;} #wrap li{list-st

sql2005-请教大神 SQL2005纵表变横表的问题!求指导!

问题描述 请教大神 SQL2005纵表变横表的问题!求指导! 怎么将表一 变成表二格式啊! SQL数据库!求大神指点!! 解决方案 select iddecode(id'1''车间''2''班组')sum(decode(星期'4'预算0)) 星期四预算sum(decode(星期'4'实际0)) 星期四实际....(类推) from 表1 group by id; 解决方案二: 感谢大神指点,decode函数SQL里没有,不过我查了一下,有case then 按照你的格式些出来了,谢谢啊!

asp.net获取当前登陆用户的用户名到textbox1中!新手求指导!!

问题描述 asp.net获取当前登陆用户的用户名到textbox1中!新手求指导!! 我要做的是签到页面!获取当前用户!自动获取时间!点击签到!插入一条数据到数据库中! 我是用三层结构做的现在不知道该怎么弄了 解决方案 当前登录用户是存在session里的吗?如果是的话,页面不需要文本框,点击签到按钮,后台从session取用户,再取当前时间,执行语句就行了 解决方案二: 最好是登陆时记录一下已经登陆的用户名,而不是去获取它. 一般来说,如网站都是记录了当前用户信息,使用时直接用. 解决方案三:

easyui-基于ASP.NET +Easyui通用权限开发框架,求指导.有演示

问题描述 基于ASP.NET +Easyui通用权限开发框架,求指导.有演示 基于ASP.NET +Easyui通用权限开发框架,求指导.有演示. api.ppngt.com

asp.net网页嵌套处理,求解决方法

问题描述 asp.net网页嵌套处理,求解决方法 网站的网页被软件嵌套了,需要区分出此类访问网站日记记录的访问信息和浏览器没有区别代码或者实现的想法都可以,语言asp.net 解决方案 应该再讲清楚点,这样根本不知道你在表达什么

连接-小白太菜,求好心人帮忙指导啊

问题描述 小白太菜,求好心人帮忙指导啊 providerName=""System.Data.SqlClient"" />怎么才能连接上SQL呢 解决方案 第一种方法:直接通过数据库的用户名.密码等连接到数据库进行数据库连接. 如:private void sqlconn() { SqlConncetion conn = new SqlConnection(""SERVER=.;DATABASE=pubs;PWD=;UID=sa;"

asp强制转换整型-ASP强制转换整型,求大神帮忙。。。

问题描述 ASP强制转换整型,求大神帮忙... 如图,SQL数据库中一个表(TblCharinfoTimeLog)其中的列 我现在用sum积累select sum(usetime) as usetime from TblCharinfoTimeLog where charid='"&123&"'" 算出123的这几天的在线时间的总和了. 但是我写出了 set rs4 = Server.CreateObject("ADODB.Recordset&quo

数据库- ASP强制转换整型,求大神帮忙。。。

问题描述 ASP强制转换整型,求大神帮忙... 如图,SQL数据库中一个表(TblCharinfoTimeLog)其中的列 我现在用sum积累select sum(usetime) as usetime from TblCharinfoTimeLog where charid='"&123&"'" 算出123的这几天的在线时间的总和 了. 但是我写出了 set rs4 = Server.CreateObject("ADODB.Recordset&qu