如何在数据库中创建表来存储来自c#WPF中MS访问数据库中2个不同表的数据

时间:2014-03-26 00:41:38

标签: c# wpf database ms-access-2013

有关如何创建存储来自2个不同表的数据的新表的任何提示吗?

例如:在线申请 - 图书馆

来自table =“用户”的用户命名杰克想要从table =“Books”预订名为Harry Potter的“书”。

现在应保存到新表=“预订”中,我们将获得已预订图书和“图书”名称的用户的信息

以后的管理员也可以显示相同的数据。

我会感激任何提示和帮助。

我也会对任何链接和教程/指南提供帮助。

谢谢。

2 个答案:

答案 0 :(得分:1)

如果您正在谈论关系数据库,那么您的表结构应如下所示(此处包含一些示例数据):

用户表:
UserId:17
名字:吉姆 姓氏:史密斯

书桌:
BookId:42
姓名:哈利波特

预订表:
BookingId:4
UserId:17
BookId:42

预订表是您与用户及其图书之间的关联。在此处存储数据时,您应该只存储其他表的ID,并且预订表中的那些列(UserId,BookId)应该是指向其他表的外键。

当您需要显示信息时,您应该在查询中加入表格并获取所需的所有信息。

如果您需要添加其他关联,只需在预订表中添加另一行即可。例如,如果您有另一个ID为20的用户和另一个ID为75的图书,那么您只需将此行添加到您的预订表中即可:

预订表:
BookingId:5
UserId:20
BookId:75

一些帮助链接: Normalization
SQL Joins
Foreign Keys

答案 1 :(得分:1)

如果你想像Bob先生那样做,那么代码就像

CREATE PROCEDURE StoreDataFromDiffTable

as
BEGIN

Declare @UserId int
Declare @BookId int

set @UserId =(select UserId from [User table] where FirstName = 'Jim')
set @BookId = (select BookId from [Book table] where Name ='[Harry Potter]')



insert into Booking table
(
UserId,
BookId 

)
values
(
@UserId,
@BookId 
)

希望这有助于你