Stored procedures 是否可以使用ASP.NET向导控件将数据插入多个表?

Stored procedures 是否可以使用ASP.NET向导控件将数据插入多个表?,stored-procedures,asp.net-3.5,Stored Procedures,Asp.net 3.5,我有一个ASP.NET3.5WebForms项目,它是用VB编写的,涉及到多表SQL Server插入。也就是说,我希望客户将其所有联系信息、订单详细信息等输入一个控件(思考向导控件)。然后,我想调用一个存储过程,该过程将插入到相应的数据库表中 我熟悉并熟悉ASP.NET向导控件。然而,我在搜索中看到的所有示例都与将数据插入一个表有关 问题: 1.给定一个典型的订单流程—客户信息、订单信息、订单详细信息—是否应该使用向导控件将数据插入多个数据库表中?如果没有,您建议采用什么控制/工作流程? 2.

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

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

问题: 1.给定一个典型的订单流程—客户信息、订单信息、订单详细信息—是否应该使用向导控件将数据插入多个数据库表中?如果没有,您建议采用什么控制/工作流程? 2.我已经在订单详细信息、订单和客户表上设置了主键和索引。是否有特殊的存储过程语法可用于确保在插入过程中保持引用完整性

谢谢,
Sid

引用完整性不取决于“存储过程语法”,它取决于如何在数据库对象本身上定义键/约束等。这才是引用完整性的真正魅力所在。无论插入/更新是如何发生的(即通过存储过程、来自C#/JAVA程序的调用等),引用完整性都将确保数据的完整性得到保留

要在表之间保留正确的父子关系,需要使用的是
外键
。例如,order to order_details表的外键可能是从order_details->order_num到其父表(order->order_num)。此关系将确保如果订单记录具有关联的订单详细信息记录,则不会删除任何订单记录


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

引用完整性不依赖于“存储过程语法”,这取决于如何在数据库对象本身上定义键/约束等。这才是引用完整性的真正魅力所在。无论插入/更新是如何发生的(即通过存储过程、来自C#/JAVA程序的调用等),引用完整性都将确保数据的完整性得到保留

要在表之间保留正确的父子关系,需要使用的是
外键
。例如,order to order_details表的外键可能是从order_details->order_num到其父表(order->order_num)。此关系将确保如果订单记录具有关联的订单详细信息记录,则不会删除任何订单记录


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

谢谢您的回答!外键设置应该可以完成所有这些工作。为了确保我在同一页上,我的存储过程语法类似于创建过程addOrder As Insert(@PartNumber,@Qty)值(PartNumber,Qty)到OrderDetail插入(@OrderDate,@NeedByDate)值(OrderDate,NeedByDate)到Orders是否正确?@SidC-SP的基本语法看起来不错,但是别忘了传递/声明你需要的所有参数。我的向导控件中有每个PARM的字段。多谢!谢谢你的回答!外键设置应该可以完成所有这些工作。为了确保我在同一页上,我的存储过程语法类似于创建过程addOrder As Insert(@PartNumber,@Qty)值(PartNumber,Qty)到OrderDetail插入(@OrderDate,@NeedByDate)值(OrderDate,NeedByDate)到Orders是否正确?@SidC-SP的基本语法看起来不错,但是别忘了传递/声明你需要的所有参数。我的向导控件中有每个PARM的字段。多谢!