我可以使用ASP.NET向导控件将数据插入多个表吗?

时间:2010-05-05 18:34:31

标签: stored-procedures asp.net-3.5

我有一个用VB编写的ASP.NET 3.5 webforms项目,涉及多表SQL Server插入。也就是说,我希望客户将所有联系信息,订单详细信息等输入到一个控件(思维向导控件)中。然后,我想调用一个存储过程来插入相应的数据库表。

我熟悉并熟悉ASP.NET向导控件。但是,我在搜索中看到的所有示例都涉及将数据插入到一个表中。

问题: 1.鉴于典型的订单流程 - 客户信息,订单信息,订单详细信息 - 是否应使用向导控件将数据插入多个数据库表?如果没有,您建议使用哪些控件/工作流程? 2.我在订单详情,订单和客户表上设置了主键和索引。是否有特殊的存储过程语法用于确保通过插入过程保持参照完整性?

谢谢, SID

1 个答案:

答案 0 :(得分:1)

参照完整性不依赖于“存储过程语法”,它取决于您具有键/约束/等的方式。在数据库对象本身上定义。这真的是参照完整性的美。无论插入/更新是如何发生的(即通过存储过程,从C#/ JAVA程序调用等),参照完整性将确保数据的完整性得以保留。

要在表之间保留正确的父子关系,您要使用的是foreign keys。例如,订单到order_details表的外键可能是从order_details-> order_num到它的父表(order-> order_num)。这种关系将确保如果订单记录与order_detail记录相关联,则不能删除订单记录。

就进行更新的最佳方式(通过向导等)而言,我认为最重要的是尽可能坚持使用存储过程。您使用的高级机制(示例中的向导)并不重要,但通过使用存储过程,您可以将数据库逻辑封装在适当的位置,此外,如果需要,可以在以后由其他应用程序重用它。