我有两张桌子:
Projects: ID - ProjectName - Areas - PaymentSystem- etc
project details : DetailsID - ProjectDetailName - ProjectDetailImage -ProjectID
我写了这个查询来更新这两个表,但是当我执行这个程序时我有错误信息
程序Update_Project_Detail,第35行 列名称“ID”无效。
create proc Update_Project_Detail
@projectname nvarchar(MAX),
@area nvarchar(MAX),
@paymentsystem nvarchar(MAX),
@receivedDate date,
@propertyClassification nvarchar(MAX),
@projectImage nvarchar(MAX),
@ProjectDetailName nvarchar(MAX),
@ProjectDetailImage nvarchar(MAX),
@projectid int
as
UPDATE Projects
SET
ProjectName = @projectname,
Areas = @area,
PaymentSystem = @paymentsystem,
ReceivedDate = @receivedDate,
PropertyClassification = @propertyClassification,
ProjectImage = @projectImage
where
ID = @projectid
UPDATE ProjectDetails
SET
ProjectDetailName = @ProjectDetailName,
ProjectDetailImage = @ProjectDetailImage
where
ID = @projectid
答案 0 :(得分:3)
错误陈述中的“LINE 35”会引导您进入。倒计时到第35行。您将看到这是指您最后的where子句:“ID = @projectid”。
错误告诉您此列不存在。由于这是ProjectDetails表,我想您可能已将此列称为“ProjectID”而不是“ID”,这是您在Projects表中使用的。
因此,可能会将WHERE子句更改为 ProjectID = @projectid 。
答案 1 :(得分:2)
使用了无效的列,请参阅下面的正确更新语句:
UPDATE ProjectDetails
SET
ProjectDetailName = @ProjectDetailName,
ProjectDetailImage = @ProjectDetailImage
where ProjectID= @projectid