您绝对不想为每个用户创建一个单独的表。您打算如何将其扩展到多个用户?
用户需要在他们的页面上看到哪些数据?了解 gridview 不必直接映射到数据库表。它可以映射到任何数据集。因此,您可以以一种有意义的方式将数据存储在数据库中(关系实体),然后以一种有意义的方式进行查询和显示。
例如(这是一个人为的例子,因为我们不知道您拥有什么数据),如果您的用户需要查看他们订购的产品列表,那么您就不会创建表格每个用户的产品。您可能会为每个实体(用户、产品、订单等)创建一个表格:
Users
----------
ID
Name
etc.
Products
----------
ID
Name
etc.
Orders
----------
ID
UserID
DateOrdered
etc.
而且由于每个订单都有一个产品列表,并且每个产品都可以包含在多个订单中,因此这是一个多对多的关系。因此,您可以为该关系创建一个链接表:
OrderedProducts
----------
OrderID
ProductID
然后,为了在 UI 中显示,您将查询数据以仅获取该用户订购的产品:
SELECT DISTINCT
Products.ID,
Products.Name,
Orders.OrderedDate
FROM
Users
INNER JOIN Orders ON Users.ID = Orders.UserID
INNER JOIN OrderedProducts ON Orders.ID = OrderedProducts.OrderID
INNER JOIN Products ON OrderedProducts.ProductID = Products.ID
WHERE
Users.ID = @userID
这应该会为您提供该用户订购的不同产品以及订购时间的列表。 (请注意,这段代码是徒手编写的,我没有方便的数据库来测试它。)
因此每个用户都会看到自己的特定信息。
您希望确保您的数据以可用的关系方式建模。定义您的实体(通常是您在数据中表示的真实事物)并定义表来表示这些实体。以自然的方式将它们联系在一起。关系数据库在处理针对定义明确的数据的复杂查询方面非常出色。不要试图从用户的角度围绕显示的性质来设计数据库,而是围绕所存储信息的性质来设计数据库。