【发布时间】:2021-06-01 07:25:52
【问题描述】:
我正在尝试更新这 2 个表:
-
tblProducts:PID、PName、PPrice、PSelPrice、PCategoryID、PDescription、图片、特色 -
tblCategories: CatID, CatName
但它无法保存它。所以有错误...
CREATE PROCEDURE [dbo].[procUpdateProducts]
@PID int,
@PName nvarchar(50),
@PPrice money,
@PSelPrice money,
@PCategoryID int,
@PDescription nvarchar(MAX),
@image nvarchar(MAX),
@featured nvarchar(10)
AS
BEGIN
UPDATE tblProducts
SET PID = @PID,
PName = @PName,
PPrice = @PPrice,
PSelPrice = @PSelPrice,
PCategoryID = @PCategoryID,
PDescription = @PDescription,
[image] = @image,
featured = @featured
FROM tblProducts AS p
INNER JOIN tblCategories AS c ON p.PCategoryID = c.CatID
WHERE PID = @PID
END
【问题讨论】:
-
@marc_s 无法保存所以不知道哪里出错了!
-
不!只是更新不起作用..我在 Visual Studio asp.net 中使用它,这就是为什么...
-
所以你没有得到任何错误 - 代码只是没有做你想要做的......你如何从 ASP.NET 调用它?您能否记下参数值,然后尝试从 SQL Server Management Studio 运行它 - 是否出现错误?或相同-它只是什么都不做??您是否检查过您正在使用的
@PID是否有任何数据?? -
能否请您检查表中是否有要更新的值,或者您是否将正确的 Id 作为参数传递
-
您可能在其中一个表中缺少一行,可能是类别。
标签: sql-server stored-procedures sql-update inner-join