繁体   English   中英

C#Ms-access从数据库获取详细信息

[英]C# Ms-access Getting details from database

我已经使用SQL OLEDB Provider创建了一个登录表单,该表单提示用户输入名称和密码,如果两者都与Microsoft Access数据库中的用户名和密码记录匹配,则它将它们定向到其他表单,但是我不这样做知道如何访问他们的所有信息,例如姓名,姓氏和年龄来显示它,因为显然这需要与他们登录时的身份相关联。

如果成功,是否可以将其链接到他们在登录文本框中输入的名称,还是有更好的方法来加载其详细信息(取决于谁登录)?

我将创建2个类。一个名为Login的静态类处理用户登录的详细信息,分配的权限等。用户名和密码将传递给此类中的方法,在此解密,检查是否正确并返回User类的实例:

public static class Login{
 public static User LoggedUser {get; private set;}
 public static bool Authenticate(string userName, string password){
   //(a)Logic to fetch data based on username and pwd. mostly i use  Entityframework
   var user=context.Users.Find(x=>x.Name=userName && x.Pwd=MethodHelper.Decrypt(password));
   LoggedUser=user
   return LoggedUser != null;
 }
}

要使用它:(1)登录表单。 if(Login.Authenticate(txtUserName.Text,txtPassword.Text){//如果为true,则直接指向另一种形式。仅通过此操作,它还将设置此类的loggingUser属性。} else {//访问被拒绝的逻辑}

(2)其他情况,例如在主窗体状态栏上显示名称。

statusBarLabelUserName.Text=Login.LoggedUser.Name;
statusBarLabelSurname.Text=Login.LoggedUser.surname;

根据您的Access数据库的结构以及所涉及的表,个人详细信息可能会与某种唯一的用户ID相关联。

那就是你应该用来获取他们的数据的东西。 登录成功后,您应该使用userID来获取所需的详细信息。

暂无
暂无

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

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