2012-10-31 151 views
1

我有兩個表,稱爲註冊和用戶。從asp.net獲取數據從一個表到另一個

登記表:

PID(primary key,autoincrement) 
email 
password 
name 
etc 

用戶:

UserID 
Address 
etc 

如果任何人得到寄存,則數據被存儲在登記表中。

現在,如果我想要在用戶表中插入數據,那麼我怎樣才能爲剛剛註冊的特定人員插入數據呢?

例如:報名表

PID email  name 
1 [email protected] xyz 

我想將數據插入到具有PID=1

並登錄後(與電子郵件地址和密碼的幫助下完成的)用戶表中唯一的人,可以將數據在USER表中。

這是什麼問題?

我應該在User表中添加一些常用列嗎?

+1

如何將兩個表之間的相互關係?我沒有看到一個明顯的專欄來建立關係。 –

+0

不清楚登錄後你想做什麼?再次插入用戶表中?從用戶表中讀取數據? –

+0

外鍵參考? – NoviceProgrammer

回答

0

添加新的列到用戶表:

PID - 它應該是外鍵在報名表中的PID列。閱讀關於這裏的外鍵:

http://www.w3schools.com/sql/sql_foreignkey.asp

查詢插入到用戶表應該是:

Insert into Users(pid,email,name) values(1,'[email protected]','xyz') 

也許你要檢查心不是這樣的用戶與那些被alread註冊證書?因此,也許首先嚐試選擇這樣用戶只要心不是一個,所以要檢查插入,你首先應該加上:

If Not exists(select 1 from Registration where pid = 1) 

查詢來獲取數據,當您登錄應該是:

Select * from users join registration on users.pid = registration.pid 
Where registration.username = 'given user name' 

或者不是用戶名,可以通過兩個表中的任何一個的任何其他列進行比較。您可以這樣做,因爲您已將兩個表格合併到一個表格中。

閱讀關於加盟這裏:

http://msdn.microsoft.com/en-us/library/ms191517(v=sql.105).aspx

+0

請不要引用w3schools,他們知道顛覆標準並推動不良行爲(http://w3fools.com/)。更好的參考是微軟(http://msdn.microsoft.com/en-us/library/ms175464(v=sql.105).aspx)甚至維基百科(http://en.wikipedia.org/wiki/) Foreign_key) – pseudocoder

+0

你是對的:)但我猜他們甚至不能解釋關於外鍵的錯誤:) –

相關問題