汤俊萱 2019-04-01 17:45 采纳率: 0%
浏览 1167

用户名密码登录,数据存在数据库中的user表中,为何我的网页只能按其中的一条登录。

问题简单的来说就是他只认其中的某一条数据,其他的都会显示用户名密码错误

protected void Button1_Click(object sender, EventArgs e)
    {
        DataSetTableAdapters.UserTableAdapter ada = new DataSetTableAdapters.UserTableAdapter();
        DataSet.UserDataTable table1 = new DataSet.UserDataTable();
        ada.Fill(table1);
        //查询表数据
        for (int i = 0; i < table1.Rows.Count; i++)
        {
            if (TextBox1.Text == table1.Rows[i]["UserID"].ToString() && TextBox2.Text == table1.Rows[i]["passWord"].ToString())
            {
                string a = TextBox1.Text;
                Server.Transfer("Menu.aspx?name=" + a);
                //跳转到Menu页面

            }
            else
            {
                Label3.Text = "用户名或密码错误!";
                Label3.ForeColor = System.Drawing.Color.Red;
                TextBox1.Text = " ";
            }
        }   
    }

这个是登录界面到数据库内寻找用户名密码是否匹配的代码,dataset里有User的表和adapter。
我现在的问题是我即使里面有两条数据,他好像也只能按照一条进行登录。我试验了一下分为三种情况:
1.如果我里面是123,123一条数据,是可以用123,123登陆的。
2.如果我里面是234,234一条数据,是可以用234,234登陆的。
3.但里面如果是123,123;234,234两条数据,我就只能用123,123登录,用234,234登录会显示用户名或密码错误。

我一共搞过3组数据,123,234,abc,发现123>234>abc,也就是如果前面存在的话,后面的就无法登录,但是单独的都可以。而且与存放在数据库的上下顺序无关
错误很诡异..我也是实在没有办法了
图片说明图片说明
感谢各位!

  • 写回答

1条回答 默认 最新

  • 汤俊萱 2019-04-01 18:08
    关注

    问题解决了,加入一个判断符号

    protected void Button1_Click(object sender, EventArgs e)
        {
            DataSetTableAdapters.UserTableAdapter ada = new DataSetTableAdapters.UserTableAdapter();
            DataSet.UserDataTable table1 = new DataSet.UserDataTable();
            ada.Fill(table1);
            //查询表数据
            Boolean flag = true;
            for (int i = 0; i < table1.Rows.Count; i++)
            {
                if (TextBox1.Text == table1.Rows[i]["UserID"].ToString() && TextBox2.Text == table1.Rows[i]["passWord"].ToString())
                {
                    string a = TextBox1.Text;
                    flag = false;
                    Server.Transfer("Menu.aspx?name=" + a);
                    break;
                }
            }
            if (flag)
            {
                Label3.Text = "用户名或密码错误!";
                Label3.ForeColor = System.Drawing.Color.Red;
                TextBox1.Text = " ";
            }
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误