【发布时间】:2011-02-21 18:11:13
【问题描述】:
我想询问基于表格在网格视图中的可编辑性的表格设计。让我解释。例如,我有一个名为 ProductCustomerRel 的表。
方法一
CustomerCode varchar PK
ProductCode varchar PK
StoreCode varchar PK
Quantity int
Note text
因此 CustomerCode、StoreCode 和 ProductCode 的组合必须是唯一的。记录显示在网格视图上。要求是您可以编辑客户、产品和商店代码,但在保存数据时,PK 约束必须仍然存在。
这里的问题是,一个网格可以编辑3个主键是很自然的,你只能通过先删除行然后插入更新数据的行来实现网格视图的更新操作。
对此的替代方法是仅更新表并添加 SeqNo,并在网格视图中插入和更新时强制执行 3 列的唯一约束。
方法二
SeqNo int PK
CustomerCode varchar
ProductCode varchar
StoreCode varchar
Quantity int
Note text
我的问题是这两种方法中哪一种更好?还是有其他方法可以做到这一点?
【问题讨论】:
标签: asp.net sql-server database database-design gridview