[英]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.