C# Ms-access 从数据库中获取详细信息
Posted
技术标签:
【中文标题】C# Ms-access 从数据库中获取详细信息【英文标题】:C# Ms-access Getting details from database 【发布时间】:2015-07-24 14:32:01 【问题描述】:我使用 SQL、OLEDB 提供程序创建了一个登录表单,它会提示用户输入名称和密码,如果两者都与 Microsoft Access 数据库中的用户名和密码记录匹配,那么它会将它们定向到不同的表单,但是我不知道如何访问他们的所有信息,例如姓名、姓氏和年龄来显示它,因为这显然需要与他们登录的身份相关联。
如果成功,我可以将其链接到他们在登录文本框中输入的名称吗?或者是否有更好的方法来加载他们的详细信息,具体取决于谁登录?
【问题讨论】:
这是否与包含的mysql
标签远程相关?
【参考方案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) 登录表格。 if(Login.Authenticate(txtUserName.Text,txtPassword.Text) //如果为真,则指向另一个表单。通过这样做,它还设置了该类的 loggedUser 属性。 else //访问拒绝逻辑
(2)主窗体状态栏显示名称等其他场景。
statusBarLabelUserName.Text=Login.LoggedUser.Name;
statusBarLabelSurname.Text=Login.LoggedUser.surname;
【讨论】:
【参考方案2】:根据您的 Access 数据库的结构和所涉及的表,个人详细信息可能会与某种唯一的用户 ID 相关联。
这就是您应该用来获取他们的数据的方法。登录成功后,您应该使用用户ID 来获取您需要的详细信息。
【讨论】:
对不起,我忘了包含,所有表都包含 memberID 作为外键。你知道我会怎么做吗? 好吧,您在问题中并没有包含太多细节。但是,如果您正在运行身份验证,则查询应该非常简单。登录成功后,您需要在会话变量中设置 memberID,当用户浏览网站时,memberID 将用于为该用户选择数据。 好的,谢谢!对不起,我缺乏细节,我想不出更好的方式来描述它:)。 这是否有助于回答您的问题? 是的,Nduerere 提供的答案让我详细了解了如何解决这个问题,谢谢 :)以上是关于C# Ms-access 从数据库中获取详细信息的主要内容,如果未能解决你的问题,请参考以下文章
如何将日期从 C# 存储到 MS-Access 以及如何检索它?
在 C# windows 窗体中的树视图中面临问题,详细信息如下: