繁体   English   中英

在 C# 中创建登录表单

[英]Creating login Form In C#

我想创建一个登录表单,当用户写入用户并通过时,我想找到 RoleId,它可以告诉我们这个用户应该以操作员或经理或任何其他身份登录,但我找不到如何从表中读取 Roleid ?

private void btn_sin_Click(object sender, EventArgs e)
        {
            byte[] b = System.Text.Encoding.UTF8.GetBytes(txt_pass.Text);
            System.Security.Cryptography.SHA1 h = System.Security.Cryptography.SHA1.Create();
            byte[] hashed = h.ComputeHash(b);

            var txtEncrptedPass = Convert.ToBase64String(hashed);

            var query = Obj_db.Tbl_Login.Where(s => s.UserName == txt_Username.Text & s.Password == txtEncrptedPass).ToList();

            if (query.Count != 0)
            {

                DataTable dt = new DataTable();

                var m =Convert.ToInt32( query.Select(a => a.RoleId.Value).ToList());
                if (m==1)
                {
                    Main_form main = new Main_form();
                       main.Show();
                }

            }
            else
            {
                MessageBox.Show(" SignIn error! \n username or password entered incorrectly");
            }

此代码向我显示投射错误!

您正在尝试将列表转换为长列表。

你应该怎么做才能使用First()FirstOrDefault()转换单个值。

如果不对其进行测试,请更改以下内容:

var m = Convert.ToInt32(query.Select(a => a.RoleId.Value).ToList());

var m = Convert.ToInt32(query.Select(a => a.RoleId.Value).First());

它应该可以解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM