2015-02-24 57 views
1

我新的堆棧和C#。在這裏我創建了一個C#窗體表單應用程序。我在登錄和學生表中使用SQL服務器。我在登錄表中存儲登錄詳細信息(UN,PW)和學生表中的學生的常規詳細信息(fname,lname等)。獲取用戶的全名登錄使用C#的Windows登錄詳細信息窗體應用程序

我想要得到的是利用自己的登錄細節學生的名字。 EX- UN: - 拉維,PW: - 123,FNAME: - Ravindu

但在我的系統,所有註冊的學生都沒有系統的用戶和所有用戶都被註冊的學生

應該我鏈接表或任何結構化的方式來做到這一點。

回答

1

您可以使用外部或左連接在一個表中,只有在其他符合條件的商品來代表一切。

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

另請參見http://stackoverflow.com/q/38549/1662973,以獲取關於連接的非常完整和全面的解釋。 – 2015-02-24 19:37:29

+0

非常感謝..我會盡力.. – JLink 2015-02-24 19:50:27

1

是的,你需要通過一個ID這兩個錶鏈接。當所有用戶都是註冊學生時,他們應該在Student表中有數據。如果您以示例中所述的Ravi身份登錄,則該用戶應該出現在學生表中。您可以在登錄表中創建一個loginID作爲主鍵。這應該通過Student表中的Foreign key loginID鏈接到Student表,並且您應該能夠實現您正在尋找的內容。

從登錄林

選擇st.fname留在學生ST加入lin.loginID = st.loginID其中lin.loginID = '學生的ID';

+0

謝謝你的幫助.. – JLink 2015-02-24 19:50:56

1

既然你與學生表的工作,我認爲每一個學生都有唯一的索引號,所以你可以在學生表和索引列登錄表添加唯一索引的列,因爲所有系統用戶是學生。 ..

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