这是我的数据库。我想做一个存储过程来将数据插入到 Reservation 表中。我想插入 room_id、数据签入和其他字段,但我想从 Guest 表中放入名字、姓氏、电话和其他字段,而不是 guest_id。这可能吗?
问问题
143 次
2 回答
3
无论发布什么数据,您都可以插入任意数量的表格。控制器与表无关,因此没有限制。
我建议尝试写一些东西,如果你能让它工作,在这里发布你的尝试(堆栈溢出......不是这个特定的帖子)描述什么不起作用。这更适合 SO 格式,而不是模糊的非代码特定问题。
于 2012-05-13T23:43:30.607 回答
1
我将创建 2 个存储过程。一个用于保存客人信息,一个用于保存预订信息。
CREATE PROCEDURE SaveGuest(@firstName varcahr(50),@lastName varchar(50),@phone varchar(15))
AS
BEGIN
INSERT INTO Guest(FirstName,LastName,Phone) VALUES (@firstName,@lastName,@phone);
RETURN SCOPE_IDENTITY()
END
调用 Second Proc 的过程
CREATE PROCEDUE SaveReservation(@roomId int,@guestId int,@price decimal)
AS
BEGIN
INSERT INTO Reservation(Room_ID,Guest_ID,Price) VALUES (@roomID,@guestId,@price)
RETURN SCOPE_IDENTITY()
END
这是一个样本。您需要为所有不为空的数据库列添加字段。
现在创建 2 个方法来保存这些数据。SaveGuest
和SaveReservation
。从您的 SaveGuest 方法返回新保存的访客 ID。现在在您的操作方法调用中,首先是 SaveGuest 方法。检查方法的返回值。如果是有效号码,则表示客人信息已保存。使用该访客 ID 保存第二部分(预订);像这样的东西
public ActionResult SAve(YourViewMolde model)
{
int guestId= SaveGuest("john","alex",....);
if(guestID>0)
{
SaveReservation(guestId,34,...);
}
else
{
model.AddModelError("","Error in saving Guest info!");
}
}
于 2012-05-13T23:52:55.303 回答