获取使用C#窗口窗体应用程序中的登录详细信息登录的用户的全名



我是堆栈和c#的新手。在这里,我创建了一个c#windows表单应用程序。我使用的是带有登录表和学生表的SQL服务器。我在登录表中存储登录详细信息(UN、PW),在学生表中存储学生的一般详细信息(fname、lname等)。

我想得到的是使用登录详细信息的学生的名字。ex-UN:-ravi,PW:-123,fname:-Ravindu

但在我的系统中,所有注册学生都不是系统的用户,所有用户都是注册学生

我应该链接表还是以任何结构化的方式来做到这一点。

您可以使用外部联接或左联接来表示一个表中的所有内容,而只表示另一个表的匹配项。

select 
     * 
FROM 
     TABLEALL 
LEFT JOIN 
     TABLESOME 
ON 
     TABLEALL.ID = TABLESOME.ID

是的,您需要通过ID链接两个表。当所有用户都是注册学生时,他们应该在Student表中有数据。如果您如示例中所述以Ravi身份登录,则该用户应出现在学生表中。您可以在登录表中创建一个loginID作为主键。这应该通过Student表中的外键loginID链接到Student表,您应该能够实现您想要的目标。

从登录名中选择st.fname lin left加入学生st lin.loginID=st.loginID,其中lin.loginID="学生ID";

由于您使用的是学生表,我假设每个学生都有唯一的索引号,因此您可以在学生表和登录表的索引列中添加该唯一的索引列,因为您的所有系统用户都是学生。。。

SELECT studentName FROM studentTable
WHERE Index IN
                (
                    SELECT Index FROM loginTable 
                    WHERE loginTable.userName = username 
                    AND loginTable.password = password
                )

最新更新