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

时间:2015-07-24 14:32:01

标签: c# winforms ms-access login oledb

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

我可以将此链接与他们在登录文本框中输入的名称相关联,如果它成功了,或者是否有更好的方式根据谁登录来加载他们的详细信息?

2 个答案:

答案 0 :(得分:1)

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

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){     //如果为真,则指向另一种形式。只需执行此操作,它还会设置此类的loggedUser属性。     } else {// access denied logic}

(2)主要状态栏上的显示名称等其他方案。

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

答案 1 :(得分:0)

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

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

相关问题