2012-10-31 111 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

你是对的:)但我猜他们甚至不能解释关于外键的错误:) –

相关问题