在asp.net中将数据从一个表获取到另一个表

时间:2012-10-31 20:33:25

标签: asp.net sql-server

我有两个名为registration和user的表。

注册表:

PID(primary key,autoincrement)
email
password
name
etc

用户:

UserID
Address
etc

如果有人注册,则数据存储在注册表中。

现在,如果我想在用户表中插入数据,那么如何为刚刚注册的特定人员插入数据呢?

Ex:注册表

PID  email        name
1    abc@ab.com   xyz

我想将数据插入到具有PID=1

的用户表中

登录后(使用电子邮件和密码完成)只有人才能在USER表中插入数据。

对此有什么疑问?

我应该在User表中添加一些公共列吗?

2 个答案:

答案 0 :(得分:0)

向Users表添加新列:

PId - 它应该是注册表中Pid列的外键。在这里阅读有关外键的信息:

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

要插入到users表中的查询应为:

Insert into Users(pid,email,name) values(1,'abc@ab.com','xyz')

也许您想检查是否有这样的用户使用了已注册的凭据?所以也许尝试先选择这样的用户,只有在没有的情况下插入,所以要检查,你应该首先添加:

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

答案 1 :(得分:0)

只需在表注册表上创建触发器。因此,当有人注册它时,它也会自动将数据插入到用户表中。

用于在注册表中触发后的写入插入。

查看此链接,例如:

http://www.dotnet-tricks.com/Tutorial/sqlserver/OPUH170312-After-Trigger,-Instead-of-Trigger-Example.html