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

C# Ms-access Getting details from database

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

如果成功,我可以 link 将其添加到他们在登录文本框中输入的名称,还是有更好的方法来加载他们的详细信息,具体取决于谁已登录?

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

这就是您应该用来获取他们的数据的方法。登录成功后,您应该使用用户ID获取您需要的详细信息。

我会创建 2 个 classes.One static class 调用 Login 来处理登录用户的详细信息,分配的权限 etc.Username 和密码将传递给此 [=23] 中的方法=],在此处解密,检查是否正确和 returns 用户实例 class:

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) 登录表单。 如果(Login.Authenticate(txtUserName.Text,txtPassword.Text){ //如果为真,则直接到另一种形式。通过这样做,它还设置了这个 class 的 loggedUser 属性。 }else{ //访问被拒绝的逻辑}

(2)其他场景如主窗体状态栏显示名称

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