返回首页

我使用的登录按钮的代码,但它不会从表中的价值和登陆的用户。每次执行else部分。

 protected void ulogin_Click(object sender, EventArgs e)

    {

        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);

        con.Open();

        SqlDataAdapter sda = new SqlDataAdapter("Select * from registration where username='" + username + "' and password='" + password + "'",con);

        DataSet ds = new DataSet();

        sda.Fill(ds);

 

        int c=0;

        foreach(DataRow dr in ds.Tables[0].Rows)

        {

            c++;

        }

        con.Close();

        try

        {

            if (c > 0)

            {

                Response.Redirect("default.aspx");

                

            }

            else

            {

                invalidpassuname.Visible = true;

                username.Text = password.Text = "";

                            }

        }

        catch (Exception ex)

        { 

        

        }

    }

这里invalidpassuname的是一个隐藏的标签。

回答

评论会员:游客 时间:2012/02/06
RaisKazi:首先检查执行相同的用户名和密码通过您的查询在SQL查询分析器(编辑)。检查是否返回任何记录。其次,你不必有foreach循环的数据行的总数。简单地使用下面的代码。codeprelang="cs"spanclass="code-keyword"int/spanc=spanclass="code-digit"0/span; spanclass="code-keyword"if/span(ds.Tables[spanclass="code-digit"0/span]!=spanclass="code-keyword"null/span){c=ds.Tables[spanclass="code-digit"0/span].Rows.Count;}/pre/code
乌代・辛格
评论会员:游客 时间:2012/02/06
。,除了的Raiskazi的答案,我会建议使用参数化查询,以避免imgsrc=]攻击
Pranit科塔
评论会员:游客 时间:2012/02/06
Raiskazi的方式是更好的。但你做了什么,也应该给予正确的输出。检查,codeprelang="c#"spanclass="code-keyword"if/span(ds.Tables[spanclass="code-digit"0/span].Rows.Count!=0)/pre/code在您的情况下,它应该是零。问候
| Sandeep1003:您正在使用两个全局变量:用户名和密码

检查你无论是在页面加载它们分配到空白或不

如果是的话,那么你不应该这样做或做类似下面。你应该有关于ASP.NET页面生命周期的知识。

{体C3}因为如果没有这个尝试每一个岗位上的时间分配变量,然后回来,他们将得到重新分配给黑人。

我认为它会帮助你
评论会员:游客 时间:2012/02/06
SwingSwis:除了检查循环,你可以直接检查是这样的:-。{的C4}//如果你想工作,然后与你的Coading我瘦,你必须声明你的变量"C"全球
JBSAHU
评论会员:游客 时间:2012/02/06
你已经错过了检查表{C5的}
P.Salini
评论会员:游客 时间:2012/02/06
//你可以试试这个。不用担心回传的影响(如损失值的变量)//检查DataSet包含数据或{5233}
purnananda behera
评论会员:游客 时间:2012/02/06
实现一个接口允许一个类,它承诺提供他们还形成类和外界之间的合同,这份合同是由编译器在编译的时候执行有关的行为变得更加正规。如果你的类要求,以实现一个接口,该接口定义的所有方法都必须出现在它的源代码在上课前将成功编译
SP的。蒂瓦里
评论会员:| 时间:2012/02/06