C# 通过WCF使用FK rlsp删除2个表
我有两张桌子,预订详情和可用性。 VenueID是VenueAvailability中的PK,用于预订详细信息 在我的aspx用户界面中,它将调用WCF服务来执行删除。单击按钮时,我想从BookingDetails中删除VenueID,并删除VenueAvailability中的整行 我得到C# 通过WCF使用FK rlsp删除2个表,c#,sql,.net,wcf,C#,Sql,.net,Wcf,我有两张桌子,预订详情和可用性。 VenueID是VenueAvailability中的PK,用于预订详细信息 在我的aspx用户界面中,它将调用WCF服务来执行删除。单击按钮时,我想从BookingDetails中删除VenueID,并删除VenueAvailability中的整行 我得到 Incorrect syntax near the keyword 'FOREIGN' 有人能帮我吗 //在我的WCF中 SqlCommand cmd = new SqlCommand("ALTER Ta
Incorrect syntax near the keyword 'FOREIGN'
有人能帮我吗
//在我的WCF中
SqlCommand cmd = new SqlCommand("ALTER Table BookingDetails DROP
Constraint FK_BookingDetails_VenueAvailability FOREIGN KEY(VenueID)
REFERENCES VenueAvailability(VenueID) ON DELETE SET NULL
WHERE BookingID=@BookingID", con);
cmd.Parameters.AddWithValue("@BookingID", venueInfo.BookingID);
在aspx.cs中
DeleteVenueAvailability venueInfo = new DeleteVenueAvailability();
venueInfo.BookingID = lblBookingID.Text;
我不明白你说“通过WCF”想要达到什么目的。我的建议是,在Sql端执行所有操作,并从前端将该查询称为SP。简单 我从问题中观察到的是,您希望清理VenueAvasibility并更改BookingDetails 因此,我的建议如下:
当删除VenueAvailabilities中的相应行时,您确实具有将NULL设置为BookingDetails.VenueId的外键 那么为什么不这样做呢:
DELETE FROM VenueAvailabilities WHERE VenueId = @VenueId;
您只需要从某个地方获取VenueId。为什么需要一个“ALTER TABLE”来进行简单的数据操作?将VenueId更新为null(因为它是一个foreignkey列(假设您允许null)),然后从venueavailability中删除该行。所有这些内容都需要删除吗?这里有点不对劲!我很抱歉,因为我不熟悉编码@谢恩,谢谢!我想我明白了it@user3111115:您的约束看起来没有问题,因此只需尝试删除VenueAvailabilities中的行,看看效果如何。他希望根据给定的BookingId删除VenueAvailabilities中的特定行,并删除BookingDetails中的外键。我猜他不想删除VenueAvailability中的所有行。