首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >售票系统:比较两个字符串

售票系统:比较两个字符串
EN

Stack Overflow用户
提问于 2019-10-26 02:11:26
回答 1查看 61关注 0票数 0

好的,我基本上是在尝试验证输入的用户名是否重复,但是while循环中的字符串比较出现了问题

我尝试使用临时标签来验证是否正确提取了这些值。

代码语言:javascript
复制
protected void BtnConfirmSignup_Click(object sender, EventArgs e)
{
    int f = 0;

    SqlConnection con = new SqlConnection("Data Source=(localdb)\\MSSQLlocalDB;Initial Catalog=traveller;Integrated Security=True;Pooling=False");
    SqlCommand cmd;
    SqlDataReader read;

    /*DEBUG: Prevent duplicate usernames*/

    try
    {
        Session["user"] = TxtUsrName.Text;
        Session["pass"] = TxtPsswd.Text;
        Session["email"] = TxtEmail.Text;

        //Label6.Text = "Faf";
        //  if ((Label6.Text).Equals(TxtUsrName.Text))
        //{
        //  Label6.Text = "dafuqqqq";
        //}
        //{
        //  Label6.Text = "wtf";
        //   Label6.Text = TxtUsrName.Text;
        //}

        cmd = new SqlCommand("select Name from Useriden", con);
        con.Open();
        read = cmd.ExecuteReader();

        while (read.Read())
        {
            Label6.Text = read["Name"].ToString();
            Label1.Text = "aaa";
            //Label6.Text = "Faf";
            if ((Label6.Text).Equals(TxtUsrName.Text))
            {
                f = 1;
                //Label6.Text = "Duplicate Username";
                break;
            }
        }

        if (f == 1)
        {
            Label6.Text = "Duplicate Username";
        }
        else if (f == 0)
        {
            Response.Redirect("SignUpNext.aspx");
        }
    }
    catch (Exception ex) 
    {
        LabelUserName.Visible = true;
        LabelUserName.Text = ex.Message;
        con.Close();
        ViewState["Caption"]=ex.Message;                
    }
}

预期:我正在输入一个重复的名称,所以它应该将标签的文本更改为重复的用户名,但它会导航到下一页/f的值永远不会改变。

EN

回答 1

Stack Overflow用户

发布于 2019-10-26 02:34:43

为了补充@EdPlunkett在Ordinal案例中指出的...您还应该确保没有额外的空格。

代码语言:javascript
复制
Label6.Trim().Text.Equals(TxtUsrName.Text.Trim(), StringComparison.OrdinalIgnoreCase)

附注:您似乎也不会关闭您的SqlConnection,除非有例外。您可能应该使用using()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58563665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档